*rant*
I am so glad this thread is a thing which is better than it's 4 predecessors, one of which I also read and had lots of flaming.
Anyhow, I read another (really old) thread with some good suggestions. Some of this is a regurgitation of those. Also, I really like the ideas here so far!
One suggestion mentioned engineers and the like during sieges. I'd refine it a few ways. Special units would introduce other complications, so I'd just have all invaders capable of doing a handful of things. Some additions to the ideas so-far mentioned include noticing traps and mechanisms connecting bridges or other devices (not 100% of the time but you get the idea). They would then avoid them, and maybe their allies would too. Construction removal is simple enough and doesn't pose the threat of spiderwebs on the map. Of course, the issue with this is the same as with bridge destruction, i.e., destroying a path or loosing magma. To those I counter simply, detect magma as with digging, and
path to an approximation of the center of wealth (I elaborate below).
Path to Center Wealth
I suggest using a k-means algorithm once at the beginning of an invasion to find the centers of wealth, furniture, and
victims dwarfs. 'K' can be proportional to the amount of wealth, and sieges can target the biggest clusters. This would only need to be done once before a siege and could be multi threaded or spread out over a few frames (if DF doesn't support multi threading) so the consequences to frame rate would be minimal. Pathing could work as follows: soldiers follow leaders to each of the three clusters. The leaders only have to thereby do the pathing once each. Nearby
targets dwarfs could cause the invaders to stop and attack, possibly to resume later. In the case of closed bridges, traps, constructions, and forbidden doors, if the algorithm can't find a way past, it can check for safety and route through (implements battery ram, etc). If no route is found, the invaders can camp.
Camping is another suggestion I read in an earlier forum thread. I like the idea of them just staying and preventing trade, surface trees, and animals. They could also poison water sources, so our cisterns take a turn for the worse.