There are many questions in here, and not a very simple answer. Something that I believe could be a solution to all your problems is that we're finalizing an interface to
Plumed, that I believe has support for steered MD. For the moment, what can help you tremendously is that probably you want to apply the Jarzinsky force to the centroid of the ring polymer, so you actually will have a single call to the force evaluation per step, so (unless you stop and restart your calculation) you can basically update the timer independent of what i-PI is doing.
To me, this is the best short-time solution until we get the plumed interface merged, then you'll see how you can pass to Plumed the current step (which is implemented already, although you'll see why that is special for the case of Plumed).
Meanwhile, I think it will make you good to spend some time studying the code and the examples, and perhaps also browse the literature to understand more in detail what it means to compute a free energy in a PIMD context.
Cheers
Michele