You've said a bunch of words but have not actually stated what you want the end product to be.
WHAT do you want accessible over the internet?
The files themselves? The webgui? How will you be accessing the files over the internet?
WHAT do you expect the end result to be?
If you are confused on what your INTERNAL network layout, you really should not be making any attempt whatsoever to expose your FreeNAS box in any way to the internet.
So let's try and answer some questions and actually get a clear goal in mind shall we?
You likely have a 'router' (linksys, dlink, netgear, etc) that you use to connect from your network to the internet.
Your PUBLIC IP doesnt mean a damn thing within your internal network. Forget that you have one for a minute.
Considering your router probably handles all the DNS and DHCP services for your internal network, you are likely being given a 192.168.x.x address. 99.99999999% of the time, routers will default to a subnet of /24 or 255.255.255.0. Read about the basics of subnets
HERE. If you want to get a little deeper into it:
HERE.
In order to provide any services to your LAN (Local Area Network) to the outside world you need to familiarize yourself with what PORTS those services use. You cannot simply point at your public IP address (the one you keep referring to in this thread) and have access to whatever is behind your router. You have to 'punch holes' in your router and direct the traffic somewhere. That is the point of NAT devices, to protect your internal network and hide it from the outside world. It is up to you to learn how to expose services you want available.
As for redirecting your domain name whether its a free subdomain from somewhere or a top level domain, you simply point it at your PUBLIC ip address. You dont have to understand ANY of the subnetting of your public IP since that is controlled by your ISP. Need help finding your public IP?
http://ipchicken.com will tell you what your public IP is. You dont need to understand the routes that it takes to get to your public IP, just tell some.domain.com to point to public.ip.address.here. That's it.
As for what ports to open? Well, you need to figure out what services you want exposed and figure out what ports they use. Honestly, you should not be exposing anything from your NAS to the outside world, but that is for you to discover on your own when bad things happen from doing so.