I used to think food made more sense, but as I leveled up gold made more sense.
It might be a good idea if certain levels of walls used different resources. Early level walls food, higher level walls gold, maybe even oil. Early on in the game I felt like the balance of resources was wrong, but with all resource generators maxed, you generate significantly more gold than food.
I'm not sure this is a huge deal though. Upgrading walls is a tough choice, for the cost you can upgrade many other things. Although you can also do it a little bit at a time.
It would also balance it if roads tiles upgraded in a similar fashion instead of all at once. But that would get weird.
Umm... So that roads will upgrade one by one, and with food for example? Yeah, but sounds it could be weird with current game at it is...
What I heard as a suggestion, is that walls would upgrade same way of roads, all at once... But that would be a bomb!!! Would be so easy to get max walls...
So far in the thread, no one in my opinion has given a better option that will balance walls, that allowing to paying them with food, for levels like 11+, starting with 4 million.
Clash of Clans and many other games do that, and the balance ends being near perfect:
-You spend the gold on defensive buildings, and there's more to spend,
-But you spend food in training troops/tactics, attacking building and upgrading troops -> Food is less useful, but the extra you have, you develop the walls, gold too you can spend, if you have enough after defenses.
-Oil remains for generals and factory upgrades, and some buildings.
And that will balance near perfect resources. If we add to that the good suggestion I agree, that generals upgrade in the castle instead at armory, we have the game perfectly balanced imo.