I use www.logmein.com for Windows machine to connect to them remotely.
I currently use this to access my parents PCs in India.
You can check to see if they have Linux support.
Remote acess to Linux servers over internet ? Help
Remote acess to Linux servers over internet ? Help
you can use FreeNX server to connect to X-windows you will need to install the FreeNx Client on your windows machine to access the server ..as for the IP address changing you can use dyndns.org where you can setup a hostname and configure your router to update the IP address if it changes..that way you can access your pc using the hostname and not the IP address