siege - noun
1.
a military operation in which enemy forces surround a town or building, cutting off essential supplies, with the aim of compelling those inside to surrender.
"Verdun had withstood a siege of ten weeks"
It is somewhat weird to me that most talks about siege focus on assault rather than on cutting off supplies. Perhaps it is so because mechanics does not allow to really cut off supplies.
Looking for IRL examples it was always so attackers destroyed and occupied suburbs where most of agricultural and industrial production was located while defenders hid inside walls.
The idea is to enforce difference between keep and suburb area by making keep area costly and not suitable for production while very easy to defend and by making suburb area way easier to raid. That will also let the defenders keep most of valuables and reduce losses while allowing attackers to hinder progress, making outcome less binary. A determined attacker still can block any development for extended period of time causing economic collapse of attacked village.
Implementation:
Create new kind of claim - "Keep claim"/"Castle claim". The claim will emanate from village idol so no new structure is needed. Managing size of keep claim will be dane trough the same interface as personal claim except expanding it comes at no cost. Alternatively it can be managed via field cairns. Keep claim cannot extend outside village claim or it will not affect unclaimed tiles (cough, in terms of defense, while still having bad effects) There should be only one keep claim per village (disputable). Keep area will have significantly increased authority drain compared to regular village claim. It will be not possible to grow any crops, trees and keep animals on keep claim, except for short periods (for example implemented as not eating or troughs not being functional). Placing certain structures should be restricted, the list including kilns, tarkilns, ovens, smelters, crucibles, windmills (questionable), mineholes (that will suck, up to discussion) and porticos and charterstones too. Extending a keep claim over a forbidden structure will make the structure not functional.
Pclaim siege difficulty should be the same as suburb area (generic village area) to prevent abuse. Keep claim takes priority over pclaim (or can not overlap with pclaims at all).
Changing size of keep claim should come with cooldown timer, 24 hours at least, maybe more.
It's quite obvious that defenders will try to have multiple production villages to keep making progress during siege. It is up to the attacker to find and destroy them all. It's not a hearthvault anymore. Restricting fast travel structures to suburb area will help to prevent smuggling. Both portico and charterstone might need a drying period of 24 hours to prevent ninja porticos.
It's up to discussion how much underground industrial villages are hated and how much should they be screwed in the process. It will be always possible to have another, underground idol to cover mine with keep claim. Keep claim should prevent building a minehole from above.
Disclaimer: please fix combat first before attempting any meaningful changes to siege.