There needs to be a punishment for retreating. Maybe a initiative malus for some turns and/or a lost movement point. Otherwise an army could retreat endlessly. You should have to reach an escape point to leave battle too. Fleeing could also cost mana/HP(20%)/Fame or gold. It should not be for free. Also the idea from mqpiffle is fine (with some cool down).
Additionally there should be spells and items to prevent a retreat.
What a bout the AI? Fleeing for ever whit it's sov?
With Fame being a resource in LH, a cost in Fame has a lot of sense. In addition to that, a resource cost makes sense, because in the run the army loses part of the equipment and needs to pay again for those items.
A moral penalty would be nice, but as there is no moral in the game this could be simulated by an HP cost.
To avoid abusing the retreat feature, it would require an army reduction threshold in order to be activated. Let's say that you can't retreat until your army as a whole has 25% or less of the initial HP. The General skill could raise this percentage and also reduce the surrendering cost. The "cruel" or "ruthless" skill/trait would do the opposite, reduce the HP surrendering threshold, as a ruthless leader/champion it's more difficult to be convinced about accepting a surrender. There could even be a "pacifist" trait that raised the threshold in exchange for a creation point in your faction/sovereign.
And of course, surrendering when defending cities is forbidden.