I would discourage you to use FTP, as it's a clear text protocol without any security.
Instead, I suggest you use ssh. Then you get both secure remote shell access and file transfer, all in one service.
apt-get install openssh-server and you are good to go. Then you can connect to your machine through for instance Places -> Connect to server on a Gnome desktop,
sftp in a shell, or using WinSCP on Windows.
To reach your machine, even with a dynamic ip, you could use a free dynamic dns service such as DynDNS or FreeDNS, which will give you a hostname such as mybox.uni.cx.
NAT is no issue either, as long as you forward the correct port to your machine. (tcp 22 in case of ssh)