Firstly, necroing a 10 year old thread isn't the best way of going about things, as a lot happens in 10 years.
In this case, though, those options are still valid (and mass pitting still being dangerous, although possible slightly less so).
To answer your question, you build cages (as buildings) and then hook up levers to them (you can't hook up levers to stockpiled cages).
I use option 4, i.e. use impulse ramps to send a minecart filled with prisoner cages (set up to be loaded as per normal) to crash into a wall with a fortification, have the impact throw most of the prisoners out of their cages (some remain inside, and some cages tend to get stuck in the fortification, requiring periodic "cleaning" rebuilding). On the other side I have a fall and smoothed natural stone walls (to make climbing difficult/impossible), and a pressure plate atom smashing array of 10 tile long drawbridges. An override lever is used to lower the bridges when stuck in the Up position due to a prisoner standing on the pressure plate. Once all prisoners have been eliminated, there's some cleanup to do of those who died on impact. Clothing worn is smashed with their wearers, while those who died leave their junk behind (I strip prisoners of weapons and metal armor first). Once the corpses have been cleaned away, the cages can be recovered.
Doesn't work for ogres, as they're too large to be smashed. For those I build the cage inside a corridor with a minecart repeater menacing spike trap in front of a door (ogres are building destroyers, and so are encouraged to stand on top of the spikes while destroying the door, which has to be replaced once in a while).