Fortresses are kind of meh for the time being, they're just larger camps which are not good enough to be actual cities. They could be proper defensive places instead with a few tricks.
My idea for fortresses is to turn them into support structures for your armies, easily defensible but faster to assault than cities.
||So if it takes 10 turns to assault a city, you could parapet yourself in a castle and last 5 at most, knowing you'd have the odds in-battle slightly in your favour but you'd lose the more valuable city if you turtle in it forever. ||
Here are some building ideas:
Tower of Sorcery: Increases the range of world spells by 1 province when cast from this castle. (this could work for Wizard Tower too)
Banquet Hall: Allows troops to regenerate some extra hp per turn while in the castle.
Barracks: Allows troops who force-march into fortresses to not suffer from penalties other than the loss of hp. Troops who force-march from this castle don't suffer any penalties either (only the army inside the castle).
Training grounds: Allows any troops in this castle to passively earn exp. Not much, but enough.
Guard post: Allows the training of tier 1 troops in a castle. Can be upgraded for tier 2 troops at most.
Keep: Adds a keep (decoration) in a small mound with walls around it. The door can be attacked, but only strong creatures can damage the walls. Ideal for last stands.