My Idea, but will be need to create specific tool:
Cities in region are connected by own borders, for example, we have 4x4 cities region
A B C D
E F G H
I J K L
M N O P
When game loading city K, all cities- G, J, L, O will be loaded too but only into memory without simulation (as file probably).
When game save city K situation as above (dumping memory edited city).
So, Sim City creates virtual region in memory.
Extending example for multiplayer, when someone (1) load city K and someone (2) load city J parallel - game grate big mess. Booth players have in memory state of City (1) J and (2) K. If Player (1) save game - it overwrite neighbour cities - nothing happen wrong now, overwriting not affect to player (2). But when player (2) save city - it simply overwrite progress of city K, because he had in memory previous state of city K.
If virtual regions in players memories are not connected (for example, City A and K are loaded) nothing wrong happen and both players can safely save own progress.
I think, game can write proper connections to region cities when we save progress.
Something about is in the Wiki:
http://www.wiki.sc4devotion.com/index.php?title=Region_View_SubfilesNow, I see the way to create tool to resize and shrinking region without annoying load cities. It - I believe - making door of multiplayer game open wide.