VPN (virtual private network) is for ALLOWING communication over public (untrusted, NOT private) networks. Not what you want here, if this is all on private networks. If it's over the internet, then yes, a VPN for EACH machine is a reasonable solution, but that would only allow you the machines to talk to the central server privately. Then you still have to arrange file sharing. That too should be easy enough, using the file sharing built into windows, or using Samba.
Assuming the machines AREN'T on private networks:
The big question is: WHY have a firewall between two machines, if you want them to be able to talk to each other. Unless the third-party machine is going to add security, then it's senseless to have the extra overhead. Just allow the first machine (or both) to contact the other, and transfer designated files.
If you really want to use the third-party machine (and don't have a hardware router that can do it), the easiest solution would be use the third machine as a router, so it's simply passing the communications data around, but not storing it.