The topic can be divided into three parts.
Software:
A: FTP Client programs: These are FTP browsers that let you browse the Internet (or your own Intranet) for FTP servers.
B: FTP Servers: Program that transform your Computer to be an FTP Server.
Both type have a lot of Shareware (few Freeware too).
Read what they can offer and Try.
You can start here:
http://www.webattack.com/downloadfind.php?st=ftp&search=Search&action=s
Most of these programs offer good setup help on their Home sites.
Here an example:
WS_FTP Pro Support Center.
Setting a server.
If the server is used for Internal LAN, or and the server is connected directly to the Internet (No Router, and No Firewall) there is nothing else to set.
In case of a Router, and Firewall the correct ports have to be opened.
The following page was written specifically for a Linksys Routers.
With a little imagination it can be transposed to establish similar settings in any Router.
FTP behind Linksys Router.
How can I be Found?
Since most of home users sit on the Internet with Dynamic IP, there is a problem to find them from the ?Out Side World?.
Come in the saviors in the form of DNS Services. You register yourself with a DNS Service (some are free for personal use). They provide you with a Static address (or you can buy a TLD i.e. iamabigguy.com) and a little program that transmits to their server your current dynamic IP, while they show to the World your static address..
You can find detailed instructions for setting up DNS service here:
DNS - Domain Name System.