I guess the best aproach to this problem is to only load one segment of the map at a time and load the other segments "on demand", e.g. if the player comes close to the boundaries of a map.
Pretty much all tile-based games I know work this way. If you optimize your loading routines and use caching, you can create a map, virtually unlimited in size (that is split up into many smaller maps) with no noticeable load-times in between.

A caching system would automatically load let's say nine of the segments into system memory. Now if the player moves, it would unload certain maps and load new maps into the cache. If you do the whole thing thread-driven, you won't notice any of that.


Stupid question: Why does your map have to be so friggin huge?