Firstly, it seems your bloodthirsty dorfs are drafted, since civilians don't behave like that. If they're drafted, they don't heed civilian burrows. Alternatively, but less likely, you've missed the civilian alert burrows feature.
NullForceOmega's suggestion is sound, but according to recent discussions, climbers can actually negotiate a wall or fortification jutting out one tile, but for some reason not a floor. Since a floor looks silly, I'd make the overhang two tiles.
Also, while this PROBABLY will stop the dorfs from trying to climb down, I'd add a roof on top to make it impossible to exit except through the gate. This also has the positive side effect of keeping flyers out (stealing Keas, as well as winged Titans).
The way I deal with sieges is rather simple, but works fairly well:
- I immediately build a courtyard with a 1 tile high wall and deck it over. The size should be large enough to keep the grazers, some 1 tile farm plots, a trade depot, and a farmer's workshop, which seems to land on about 9*9 tiles. A 3 tile wide drawbridge controls the access to the courtyard, which is decked over.
- When that's done, I extend an access route to the courtyard and protect it with cage traps. I've used 2 different approaches:
a. A serpentine path that allows caravan wagons to access the courtyard. This means a central 3 tile wide path with 3 cage traps in a row every 4 tiles and staggered 7 tile long and 3 tile deep niches on the sides such that the trap array aligns with the center of a niche on one side and the wall on the other side. This is decked over another drawbridge controls the access to that. Since it generally takes some time for invaders to arrive, I tend to use this approach in savage biomes where I want to block the wildlife.
b. After the first (autumn) caravan has left I build a single tile wide decked over access path filled with cage traps and a drawbridge on the end. Note that you'll want to build something on the sides of this "pipe", since invaders tend to gather around captured "leaders", which they'll do outside of the pipe if there is access.
- I dig a dedicated trade depot access with a serpentine track with cage traps. This path is usually fairly long, and I later provide a shortcut for sneakers and building destroyers through a repeating menacing spike trap array. Needless to say, this access is also protected by a drawbridge (as well as one on each side of the new trade depot itself.
When invaders arrive, I send them back and forth between my main entrance and the trade entrance by opening and closing the drawbridges. Each time I catch some invaders in the cage traps, and when I've closed the gate the dorfs are allowed to haul the cages to a stockpile for captive stripping, and the traps are reloaded with new cages. Repeat until the invaders have been caught or fled.
It's not always that tidy, since I've had problems with invaders that just stand there, so additional measures are generally added to handle the shortcomings detected during the previous siege.