The idea is to have two Raphael objects moving together, while one of them is rotating. In the example below, I created two animations - one for the translation, and one for rotation, but I didn't have any luck getting them to work.
var paper = Raphael(0,0,800,400);
var body = paper.rect(10,10,50,30);
var leg = paper.rect(30,35,10,30);
// translation - should be applied to both body and leg
var translation_anim = Raphael.animation( {transform: "t300,0"}, 2000 );
// rotation - to be applied to the leg only
var rotation_anim = Raphael.animation( {
"50%": { transform: "R" + (45).toString() },
"100%": { transform: "R" + (-1*45).toString() }
}, 2000);
body.animate(translation_anim);
leg.animateWith(body,rotation_anim,translation_anim);
Fiddle: http://jsfiddle.net/hx22d/