1) Kennels can at the moment only be used to tame tameable animals, or to train hunting or war dogs. For training dogs, a non-pet (somebody please confirm this) dog needs to be walking around freely, so not within a cage. If they are assigned to a cage or chain, you will get a message that there are no trainable dogs around.
2) Your donkeys are most likely already tamed, so the kennel has no use. Just go to [z]>[animals] and designate them for [.s]laughter.
3) I'm pretty positive that it's not possible at the moment. All constructed buildings have the tendency to fall apart when dropping z-levels anyways, so a workaround would probably just destroy your siege engine. Nice idea though.
4) Your siege weaponry won't get destroyed as far as I know. Even if building destroyers like trolls could destroy such buildings, my experience tells me they would not target a building unless it forms an obstacle (confirm?).
5) You wouldn't be able to build a siege engine on other than either natural floor or a constructed floor. Even if you managed to build it on trap doors, it'd be destroyed, unfortunately.
I wouldn't worry about your siege engine getting destroyed though, because if it would be 'destroyed', it would just fall apart into the 3 catapult/ballista parts.
Edit: Your best bet would be having a pressure plate trigger blocking the short entrance past the siege engine, and opening up a longer path, which would still be in line of fire for siege engines but not accessible to attackers due to channels and other fancy blockades.