Let me first express that I don't have much experience playing these sort of games, so I could be wrong. But I've noticed that most turn-based strategy games have many big cities and very few small villages. Also pillaging doesn't seem a sensible option; since both conquering and pillaging needs a massive force to subdue a big city, occupying after the battle/siege/whatever is far more profitable!
After playing Galactic Civilizations II I think I've come up with a very simple solution;
something StarDock has surely come up with as well, but I'll still post it here, just in case!
Why don't we build a few cities (the amount limited by essence, or whatever -- but that's another discussion), and around those cities we can build small villages which function a bit like the starbases in Galactic Civilizations. These villages can be upgraded with techs you've researched (like irrigation, palisade, trade post, windmill, granary, inn, hunters cabin, saw mill, mining station, fishers cabin, etc) and they'll provide bonuses or resources to the cities nearby. Now you can invade the enemy kingdom, defeat the armies he sends to defend his lands (or if you can outrun him, you don't even have to do any real fighting -- making lightly armed cavalry viable!) and burn and loot his villages. Laying siege to a city is still possible (and if succeeded more profitable), but pillaging is much easier and it won't take as long as a siege and won't cost you as many lives. But it will still hurt the enemy economy and earn you gold and plunder!
Off course, it would be annoying if your villages get pillaged. And you'll have to build the village again, select the upgrades again, one by one, village after village. So it would be easier if the village turns into a ruin and after a few turns (20 maybe?) springs back to live and starts rebuilding again automaticly!
And by the way, I think villages should have very few slots (5 maybe?) to put in upgrades. I would prefer not to have villages filled with irrigation channels, palisades, trade posts, windmills, granaries, inns, hunters cabins, saw mills, mining stations, fishers cabins, massive stone walls, armouries, brothels, assasins guilds, etc, etc. This will force the player to make choices: Do I want to have a farming village protected by a palisade, or do I take my chances and build a farming village to make lots of food? Do I want to concentrate on one product, or do I provide my mining village with a farm?
The same story goes with castles. They start like a keep and they too should have few slots, so the player should choose between massive stone walls (bonus to defense), granaries (lasts longer during siege), armoury (increases damage), watchtower (increases line of sight), moat (bonus to defense), arrow towers (increases attack), barracks (house more troops), stables (lower upkeep of cavalry), inns (higher morale), hospitals (heals a percentage of casualties), etc, etc. But I don't think they should provide bonuses to your cities. Just use them to guard a pass or a river crossing or something like that. Of course, to be functional when used to block a pass, they really should block the pass! If the enemy wants to get through, they should either lay siege and fight or take a long walk around the mountains. They shouldn't be able just to walk passed them, they would be useless!