How can I link bones from the same armature? Head to Tail and Vice-versa?
IK is indeed the solution. It looks similar in principle to rigging a piston, which is just a type of four-bar linkage: https://vimeo.com/25357097

I think the main insight to make your rig work is the use of IK "Target" bones. For example, where you want the spring to connect, create a small bone parented to the link's bone. Give the spring bone an IK modifier with chain length of one and allow stretching. That should be all it takes.