assets/Gameplay/XML/Civilizations/CIV5Civilizations.xml
Within that file, there's a table: Civilization_CityNames. So if you want to change the Roman cities to some other names, just do a series of:
Code:
<GameData>
<Civilization_CityNames>
<Update>
<Set CityName="TXT_KEY_CITY_NAME_NEWNUMBERONE"/>
<Where CityName="TXT_KEY_CITY_NAME_ROME"/>
</Update>
<Update>
<Set CityName="TXT_KEY_CITY_NAME_NEWNUMBERTWO"/>
<Where CityName="TXT_KEY_CITY_NAME_ANTIUM"/>
</Update>
<Update>
<Set CityName="TXT_KEY_CITY_NAME_NEWNUMBERTHREE"/>
<Where CityName="TXT_KEY_CITY_NAME_CUMAE"/>
</Update>
(and so on)
</Civilization_CityNames>
</GameData>
Unfortunately, this is one of the few sequential tables, so you really have to keep the entries in the right order. The above method does this through the Where command, but you'll have to do this for every name in Rome's list. You also have to add the text keys themselves, which is a bit more work.
Now, this assumes you're changing the existing Roman civilization to use the new names. If you wanted to create an entirely new civ instead, that's a whole other ball of wax.
EDIT:
Forgot to add. If the names are ALL you want to change, it might just be easier to change the text keys directly. That is:
Code:
<GameData>
<Language_en_US>
<Update>
<Set Text="Milan"/>
<Where Tag="TXT_KEY_CITY_NAME_ANTIUM"/>
</Update>
</Language_en_US>
</GameData>
So internally the game would still think of it as Antium, but the game would display "Milan". One downside to this is that it's language-specific; anyone playing, say, the French version of your mod would still see the old names. The earlier suggested method wouldn't do this; since it'd be an entirely new text key, it'd always use your name. Not a problem if you're the only one who'll ever play this.