you must then switch the highest address line (A14 for a 256) high for one map, and low for the other. in practice, a 1k resistor going to
+5 to A14, and then another from A14 to a switch that goes to ground. a 220 ohm resistor should be connected in series with this switch to protect the input. (If its a really noisy electrical environment such as a car, and the switch is going to be mounted some distance away such as on the dashboard, then you should consider using an optocoupler near the ROM to do this job and avoid electrical interference possibly getting into the A14 line via the length of wire that goes to the switch.).
Switching a ROM (or any device thats connected to a processor Address Data bus like this such as RAM etc) while the software is running isn't a really good idea, especially if there are changes to the operation of the actual CODE running in both roms (as compared to changes in data tables within the ROMS).
When changing software versions, its often the case that the program will Clear any NV RAM back to default settings, and if there are any changes that you have to make (ie, settings you need to enter for your particular options that are then stored in an internal NV RAM). If the program learns and calibrates itself over time as the engine is used, then all this special (and probably constantly changing) data will likely be lost too, leading to less than optimum performance until this data is replaced.
At worst, engine damage may occur, or it might stall, or might fail completely (from thinking the computer is stuffed, and shutting down to protect the engine, or for safety reasons) needing a service centre to reprogram the settings etc. At best, you might generate many ROM checksum errors in the system :)