There seems to be a fair amount of debate on this topic. I think there is one thing most of us can agree on though, we could all use more mich scripts lol.

My opinion on the topic at hand:
Rally spot is THE most important building to upgrade to lvl 10. Period.

From there you had better just capture lvl10 npcs to make all the rest of your cities, tear down workshop, forge, inn, stable and all but 8-10 cottages along with each and every farm. If you have had opportunity to get other cities that maybe had a few lvl10 buildings, consider them temporary. I highly recommend you detach your emotional feelings towards your first city and consider giving it to a smaller player in your alliance and replacing it with a proper city. If you can stick to this strategy you will only be spending your mich scripts on barracks and your resource field. As has previously been suggested, ironmines and sawmills are your best option, all 40 spots! I fill one city with lvl10 barracks for building catapults and then focus on upgrading the resource fields to lvl10 in all cities. You can transfer your catapults from city to city, but resource production is also important. With all lvl9 resource field and 10 lvl10 valleys you can pretty easily get to 1m/hour production with a decent mayor.

If you really MUST upgrade a city that isn't lvl10, I recommend the following:
1. Rally spot (every serious player has a lvl10 rally spot in each city)
2/3. Town Hall or Walls depending on your personal situation, resource production or defensibility
4. Feasting Hall (for more farming raids)
5. Embassy (to allow an additional 100k troops to help defend you)
6. Academy (allows privateering to overcome warehouse and stockpile)
7. Beacon Tower

There have been some questions about beacon tower and I must say that beacon tower impacts what info you get when scouting an
opponent's city, beacon tower vs beacon tower. Force your enemy to also have a lvl10 tower to see your building levels.