What you need to do is make each of the models separately, skin them separately and animate them all separately. Then you combine them via code in-game. In this manner you can have a separate head, torso, arms, etc. Typically what is done is the models are made in a different 3D package like 3D Studio MAX so that you have the head, torso, arms, etc all there in the same package. Then they would all be animated as one model. After this, each part is exported out separately so you might end up with something like:
- head.mdl
- lt_arm.mdl
- rt_arm.mdl
- body.mdl
One of the parts would be the main player (such as body.mdl) and all the parts would be attached to it via code in the running game.