There are units today that produce other units and are moveable; for example the mongol camp in the genghis khan scenario and the barbarian camp in the barbarian scenario. Both of those are in warlords. This is a type of city, but it doesn't have buildings. The mongol camp randomly generates one unit every few turns. The barbarian camp is the spawn point for whatever units you purchase. If the buildings are not critical for you, that would be the easiest.
I have never done it, but I am sure that you could make a copy of a full city using python. You might have to loop over all the buildings in a city and recreate them in the new city, then delete the old city. I am not sure how you would deal with the production queue. If you want the city to move every turn, and you want to keep the production queue intact, it might be possible but I am not sure how.