Hey eJay,
I was in your position as well, wanting to learn how to implement ragdoll animation. So I can give you some advice. There are two aspects of ragdoll animation you have to look at; one doesn't employ physics at all. You need to look into writing a basic skeletal animation system; or, try to find one out there. There is one out there that I was looking into (I'll try to find the name), but ended up just wrapping my own.
You have to look at skeletal animation for what it is; a hierarchical collection of parent > child sprites; each of which adopt it's parent's rotation. You then need to create a kind of system where you tell each "part" to move by X degrees. Thus, animation! :)
This article helped me wrap my head around the concepts of skeletal animation. http://www.gpwiki.org/index.php/OpenGL:Tutorials:Basic_Bones_System
And then you have the ragdoll physics itself. I personally use Chipmunk, just out of personal preference... You asked about joints, I think? In that case, CP6+ has a rotaryLimitJoint() by which you can specify that two bodies can only rotate a max / min range of degrees. Very cool. I was hard-pressed to find something similar in Box2D, but again, I'm not super-fluent with that engine.
Oh, and I love the fact that Scott is always posting very helpful information on the Chipmunk forums. I tried box2d but it seemed a bit "bloated", I guess. Although swept-collisions would be nice in Chipmunk... Anyhow, since you already have each "body part" (each "body part" is a CCSprite), you can just assign them as userData. It's actually not that simple because you have to consider anchor points, rotation, etc.
It is doable, just not super easy. For what it's worth, here's what I've got completed so far in my upcoming game:
With a bit of work, you could implement something similar. (note that the FPS is much higher on a device itself; given up trying to optimize for the simulator! And the artwork for the HUD is not complete!)