You can do this with Savegame via ESF or PFM with startpos.esf.
Campaign_Save_Game / Compressed_Data / Campaign_Env / Campaign_Model / World / Region_Manager / Region_Array / Region -->Find the city name you wait to add or change...see pictures with how to add/change.
This show how raise or low fertile...
This show how adding buildings or Speical..(see the list down)
TIPS : You can only adding buildings on all slots after Castle is opgrade,lets says a citadel, since not all "building"slots is open,
so therefor you need to opgrade citadel or that you wanna with castle(see the list)...and save then load savegame and check slots is open in game, if all okay then exit game and open esf..now slots is open then now you can add buildings on that open slots "building"