Allright lads, first off what is "siege"?
Let's check out the wiki:
"A siege is a military blockade of a city or fortress with the intent of conquering by attrition and/or assault.
Sieges involve surrounding the target and blocking the reinforcement or escape of troops or provision of supplies, typically coupled with attempts to reduce the fortifications by means of siege engines, artillery bombardment, mining (also known as sapping), or the use of deception or treachery to bypass defenses. Failing a military outcome, sieges can often be decided by starvation, thirst or disease, which can afflict both the attacker or defender."
So, what I am suggesting is: Siege camps.
1. Invaders will start to set up one or more camps near the fortress upon their arrival. They build walls around the camp(s), tents or other small buildings, and set up traps around the walls.
2. The invaders will attack the fortress periodically from these camps.
3a. These camps won't be abandoned, only if the player completely destroys them -> wipes out all of the invaders [if all of the invaders will flee, that also means that the siege is over, and the siege camp will be abandoned]. If the number of the invaders in the camps are too low, they will receive reinforcements from their civilization, if it is possible.
3b. If the invaders are sieging the city for a couple of years, and they are unable to capture the fortress, there is a chance that they will give up the siege. [Example: If the fortress is under siege for 5 years -> seasonal RNG check from the beginning of the 6th year.]
4. While the siege camp is active, the caravans won't visit the fortress, and the player won't be able to send out patrols/armies at all to "interact with the world" [upcoming army arc feature]. Immigrants might try to join to the player's fortress, however -needless to say- it won't be quite safe for them, while the invaders are around.
5. Since Toady will implement siege engines/towers in the future, the invaders will be able to build these in the camps.