So, most of us have run into a city, packed to the gills with enemy troops, that we have no hope of taking without catastrophic losses. Usually, I just walk around these fortresses... but if they are in striking range of a number of your cities, trench warfare can set in. This has all been discussed before, and various solutions have been suggested, Well, here is another..................
Combat in warbarons is maxed at 8 vs 8 in most cases. So why not make that the norm for city attacks as well? My idea is that, after killing 8 city defenders, two buttons appear on the attacker's battle window. One button is labelled "Press The Attack!", the other is labelled "Fall Back!". The attacker then chooses either to continue the battle, or end it there by moving his stack back to the terrain tile it attacked from. If the attacker chooses to press the attack, and kills another 8 units, the buttons would pop up again.
Falling back would cost movement points equal to the normal movement the stack would spend to enter the terrain tile it attacked from. If some units do not have enough movement left to enter that hex, I would let them do it anyway, and subtract any movement points they have left.