If you have outside IP addresses on each of these locations, your goals will be feasable, if not, it will not be possible. In other words, it will depend on the type of Internet connections you have. You also have to make provision / allowances for pppoe or DHCP type connections if you have either of those.
Also, if there are routers, they will need to be configured to pass the appropriate ports and services to the target PCs. Often times, the Internet service provider will provide a modem / router that will not facilitate port forwarding - SBC.YAHOO is one such provider and they normally use a pppoe login proceedure. If you have SBC.YAHOO and one of these DSL modem / routers, you will need to disable the pppoe login function and place it in bridge mode only, and I'm assuming the device is configurable in that capacity, but if not, you will need to replace it with a modem that does allow straight-through bridge mode. Once you get that done, then you need to configure your PC to do the pppoe login process for you, or have your VPN server do it for you.
At this point, I would suggest an IPCop firewall server. which has VPN net-to-net service settings along with all sorts of port forwarding capabilities which are very easy to implement. You will have a much easier time of it if you build an IPCop [or Shorewall] box and set it up to do the pppoe login for you - if you have more than one computer to connect to the internet, just place a hub or switch between IPCop's GREEN interface and your inside PCs, enable VPN to the desired computer and SSH port forwarding (port 22), etc. etc. IPCop [or Shorewall] is ideal for this sort of thing.
You'll find some good information in IPCop's administration manual,
http://www.ipcop.org/1.4.0/en/admin/html/
Here is VPN specific info:
http://www.ipcop.org/1.4.0/en/admin/html/vpnaw.html
Hope this helps,
Work through some of these issues and let us know if there's anything we can help with.