sounds like what you need is a DNS service like no-ip or dynDNS. Set up a DNS (domain name server) on your RPi's network(s). I recommend using no-ip because it is free and easy to set up. you just go to their website
www.no-ip.com and create an account with at least one DNS, something like 'mydns.no-ip.com'. The way it works is the no-ip software will query your network's external IP address which is dynamic (meaning it changes randomly at an irregular interval, so the IP you used an hour ago to remotely access your RPi's network would no longer work). Then it posts that IP address to your DNS you've set up. So instead of trying to figure out what the external IP of the network you are trying to SSH to is, you simply SSH into the DNS you set up, eg;
'ssh
yourusername@mydns.no-ip.biz'
It really is a very elegant and effective solution. Then once you have your DNS set up, you will need to forward the SSH and FTP protocols (typically ports 21 and 22) in your RPi's network's router so that it is accessible from outside the local LAN the RPi is on. Then assuming you've already installed ssh and ftp on your RPi, you should be able to use FileZilla or any other FTP client to access the RPi from any internet connected device.