In the Ageod engine, when a fortified town is taken by the enemy, all the breaches are repaired the next turn.
Could you not change that rule and introduce a gradual breach repair (one or two level(s) repaired each turn) ?
Thus, an endommaged city would not be able to sustain a second siege with intact walls.
As siege warfare is important in this game, it could have an effect in the campaigns.
Regards.