I do think a change to city population growth could be used to help curb city spam though. Something like you get a flat population growth based on the extra food you have and it is divided among all your cities. For example say each extra food gives you +10 population growth and you have 10 extra food. This would give you 100 extra population growth which would then be divided among all your cities. So a player with 5 cities would get +20 growth in each city where as a player with 10 cities would only get +10 growth. This way the empire with more cities would have more cities that grow slower then the player who has fewer cities that grow faster.
To help truly make this work though it would likely need to have a flat population growth bonus applied to the empire. Plus greatly reduce the natural growth rate of each city to make the food amount much more important. In fact I think this would be a nice setup to make food matter more in the game period. Because right now you don't really need much and it's pretty easy to just have the bare minimum need for upkeep.