A human wall destroying unit could by that same method know where some of your workshops/etc are. It could then generate a path to that structure that ignores constructed walls, and then destroy any walls it encounters while following that path.
I think that this is really a sort of key to the problem of "intelligent" sieges--that is, a plan ahead of time. The AI creates a plan ahead of time around a set of objectives. It creates paths to its objectives ignoring dwarf-made obstacles, then checks for obstacles in the path and creates appropriate fixes, say assigning jobs to goblins. Thus, goblin engineer A is assigned a "build staircase" next to a wall, while goblins B, C, and D are assigned some sort of "escort" job (have their battlestation set to move with goblin A). As each set of jobs is completed, the AI checks its path again and moves its squads further along. Any time there's no path to destination, the AI reassesses as well.
The AI could also take cues from what the player is doing. When the player gives a squad of dwarves a static battlestation, he could automatically generate a "build catapult" job in the seige force (this assumes that any static battlestation is strategically valuable). The catapult is then operated until the squad of dwarves is destroyed or the static station is moved out of the catapult's threatened area. (This also assumes that catapults become slightly more threatening).
This is assuming that the AI is trying to break into the dwarf fortress . . . another strategy might be to control traffic through the region--intercept traders and diplomats and so forth. The seige should just build a small town/outpost, defend it, and send raiders after caravans. It doesn't have to be particularly smart in order to do so . . . give it some standard layouts for little fortresses and make the goblins/humans/elves work a little economy to build and man it.
Guess I ran off topic . . . should probably post this elsewhere . . .