Maybe sieges should be like an event. Enemies can try to siege normally as usual, but sometimes you would get a message "enemy is planning to siege [city]", then you have some time to prepare, and the enemy WILL attempt the siege, with a big force. This might be dependent on your kingdoms intelligence of the enemy or something, but thats going a bit ahead.
On your side, when you make an army, it could have a goal - "campaign to besiege and capture [enemy city]". If you don't attempt an attack until certain time passes, or just fail, then army dissolves and you lose reputation.