I did what you're trying to do a while ago. I stumbled upon the same problems as you did: LAN-to-LAN only seems to work well when all parties are using static IP addresses.

So I did it differently. I bought a decent Draytek router (yes, here I am again with Draytek, but I'm sure there are other brands that can do this just as good). I made a DynDNS account. I fed the DynDNS account details to the Draytek router. Now I could always find the router by using the DynDNS system (<insert name here>.dyndns.org)
Then I set up the built in VPN server of the Draytek router. I could choose between 3 types of VPN: PPTP (windows' type of VPN), IPSec or L2TP. I ended up choosing PPTP which is not the safest VPN method around, but it does have one advantage: It's build standard into any Windows version since XP (and probably even further back).

Once this was implemented I could simply setup a 'Dial-up VPN connection' to the Dyndns address, entered my login and password and voila, I became part of the LAN, which allowed me to access the apps 'locally'.

This is probably also what you need. If you need more security, I would use IPSec though. The setup should be similar, just a little more time consuming since you would need to use external 'dial up VPN' software rather than the built-in one that's in Windows. (FYI, I've read that Windows 7 has now also included an IPSec client... just a thought...)
_________________________
Riocar 80gig S/N : 010101580 red
Riocar 80gig (010102106) - backup