Your walls do NOT need to be thick. Not much can actually destroy a wall, so a one-thick wall is as good as a three-thick one.
You can't normally remove up or up/down stairs that are below the only access point to them, as even if every tile around the stairs is inaccessible, the dwarf will stand on the bottom of the stairs while removing it, trapping himself when it's removed. If you dug out the stairs (using d->j etc.) then you can build a floor (b->C->f) on top of the stairs, and things won't be able to get out.
If you constructed (with b->C->d etc.) the stairs, then it's a bit more difficult, as the dwarf will try to go BELOW the stairs to remove them, still trapping himself. First build a floor hatch on top of the stairs, then lock it (q, move over it, l) so that dwarves cannot pass through it. Then designate the stair it's built on for deconstruction (d->n). A dwarf will come over and deconstruct it WITHOUT going under it (assuming there's no other route under there, as if there were, worrying about a dwarf getting stuck down there would be pointless) and leave the material from the deconstructed stair on top of the hatch. If you want to recover this material, then construct something else with it nearby, or designate it for dumping somewhere. Then remove the hatch. If the material is still on the hatch, it will fall down. Then construct a floor (b->C->f) on top of the hole, though this step is somewhat optional, as lacking the stair at the top will prevent enemies from pathing up and out. It's still probably a good idea. (I told you this way was more difficult.)
They'll only use wood and bone bolts for practice, but when it's time for actually fighting, they'll use whatever is available... including their practice bolts.