Servant of the Lord, yes, they are text files, although by using Boost, switching to binary is very simple.
Hold on a second. I don't mean just switching from Load(MyTextFile, AsText) to Load(MyTextFile, AsBinary). It's still a text file (even if you save it as "binary").
I mean rewriting your file format entirely, so nothing is stored in strings, and things are stored directly as integers and bools and whatnot.
I don't mean saving it as an integer stored as a string saved as a 'binary' file. I mean zero conversion from strings to integers.
It's almost certainly the string parsing that is killing your load times.
If you have hundreds of files you're trying to load at once, it's probably the hard drive overhead for each file. But if you have a map stored in a single file, and that single file is taking a long time to load, you need to redesign your file format, not just swap out one function call for another. You need to write it so you don't have to process the loaded data (converting strings to ints or whatever). Load it already in a suitable format.
Compression is likely not the issue. Databases are likely not the solution.
170KB? Not a problem. A single photograph can be several MB (ten times your map file, and that's with compression), but ten year old computers can open them nigh-instantaneously.
Post your map-loading function.