I've been reading a bit on how to control city spamming and an idea that might be worth considering is instead of allowing the player to just pick a spot and 'create' a city from a settler style unit, cities are instead 'cultivated' by having the player invest in certain things that allow for a city to form.
From what I can remember from my history classes, few cities were actually formerly created by rulers. What usually happened was people found what they felt was basically a somewhat safe area, started by building their farms then merchants moved in to supply the farmers and when enough merchants got together a village would appear. Now, if the village was in a area that a ruler thought was significant enough, he would appoint a Lord over the lands and the Lord would then build his castle or keep and if the Lord was favored enough by the King or was a good enough ruler - the castle or keep would provide enough protection to attract more populace. In the end, the village would grow to a town and ultimately to a city. On the other hand, villages that were unsupported often stayed no more than villages or even disappeared.
So a method that might be considered is that once the game begins, each player moves units and creates a 'territory'. The game decides which squares are considered safe and after x amount of turns that the square is considered 'safe' and x amount of squares away from the starting city, a village may appear.
When the village appears, the player can divert money into the village, send resources such as stone masons, craftsmen, merchants into the village and as long as the village is considered 'safe' there is a chance that the village may grow into a larger entity (town for example). Note, villages are not cities - nor are towns, they are simply areas that might be grown into a town or city.
Once the village has grown into a town, the ruler of the territory can appoint a Lord to oversee the area at which case a Hero is directed to build a castle or keep in the area of the town. Once the keep/castle is built, the town continues to grow to ultimately be a city and any towns or villages within x of the keep/castle will progress no further. In this case the 'population' can decide on potential city sites, however, the player can then pick the best (but it might not be the most ideal) location to create his city.
This is just a off the cuff idea, but it does have some interesting concepts not seen in other games. First, city spam is inhibitied as the player can't just put a city in the best resource spot 8 squares from his last city. The player may be presented with a few different sites as potential city sites, but with a limited number of cities, the player may have to choose to see whether the game sees fit to place a village in a area that seems the best or go with what the game has given.
Anyway, I'm throwing the concept out for discussion. This is by no means a finished idea and all discussion is welcome.