I didn't have much success implementing an IK nor getting it to compress, but they say the simplest solution is often the most effective. In the case of my piston the simple solution was to parent each of the pistons with each other, tie them to 'aim' themselves at the opposing hinge and create a few driven keys to mimic the pistons extending and compressing.
After that it was a simple matter of constraining each of the hinges. and the pistons so they stop at a fixed instance into and out of their sockets. By adding a fifth segment to the leg I am able to extend its reach to a motion window of between 92 and 168 degrees (any more open and the piston will collide with the knee hinge). Which might be one of them ore complicated elements of the model out of the way.
From what has been assembled so far, I think I can easily fit six of the legs into the main body with plenty of room to spare.