To clear up the localhost thing -- we almost always use localhost to connect to the MySQL server, because it's a separate service on the SAME MACHINE. (Think of it as having a washing machine and a dryer; you put the clean but wet clothing in the dryer which is in the same house (localhost) as the other machine. You don't need to specify your house's address to get the clothing into the dryer. The purpose of this is to save bandwidth, and deliver the fastest speed possible. Why waste time routing outside the server and then back into it?
The standard webserver port is port 80, SSL is 443, FTP is 21, SSH is 22, MySQL is 3306, etc. You would log into the cPanel, and somewhere in the menus or on the right or left column, is the details about the IP address of the server. If you are managing your own DNS records vs. using the system built into cPanel, then you will need to specify where they are located.
It sounds like in your situation, that you registered a domain name to use with the web hosting, and should use that to connect to your site. Server name (if you mean the physical server name) is not important to you, since it's likely on a shared hosting account, where one server can serve a multitude of various peoples' websites.
If you need answers to specific questions regarding cPanel, consult the FAQ or helpdocs: http://docs.cpanel.net/
Else, try to contact your hosting provider. Most quality-webhosts have a support-ticket system, and are generally quick in responding.
If you have any technical questions, feel free to post them and (we) will try our best to assist you.