If you have a mapping system that uses 2d arrays as a way of storing cartesian coordinates then you could easily make a 3d array with the 1st dimension of the array being a different locale. That way you wont lose any data from a previous session. It would be easy to make a menu system for swapping between different locales with a couple of push buttons, an lcd display would help a lot too.
A greater challenge would be for the robot to match its current location to a previous locale automatically and also to link locales for traversing rooms.
There are other ways of doing it too, rather than you set the locale, if the robot finds itself in an unknown area then it could start up a new locale map. If the new map at some point overlaps an existing map then merge them into 1 larger map. (there are problems with a true adaptive system like this if you are using cars to transport them)