What physics make an object not pass through another, if it's the "Child Of"?
If you need physics for the project you're working on. You'll want to set the origin of each of your arm pieces to their joints. Parent the arm to the body. Then use a limit location constraint to keep the arm attached to the body. To do this copy the location coordinates to the maximum and minimum values for each axis, activate all the check boxes, and change the convert value to local space.

To unattach and reattach the arms you will probably need to write a script that will remove the parent relationship and the constraint between the arm and the body when a certain event occures and then set up the relationship and constraint again for the new arm.

As for picking stuff up, a similar limit location and parenting set up should work in conjunction with another script.