Your system is usually going to check the /etc/hosts file before going to an external nameserver. This means you can name the site anything you want. If you put
Then even that name would point to your localhost. I currently have 2 servers on my local (10.0.0.0) network. The one that is forwarded to the outside world is at 10.0.0.100. The other is at 10.0.0.200. I put the site names for the one at ...200 in the hosts files and I can access them on the internal network but not from the outside world. I run the SSH on both servers on different ports so I can access that from outside via IP address.
The point to all this being that you can put the clients (or anyones) domain name in your hosts file and have it work without having to actually buy or register the domain name.