I'm afraid you're pretty confused...
First of all, I think you want a domain name, not a "URL". And domain names have nothing to do with your host, except that some hosts do incidentally provide domain registration as a free or add-on service.
So, first things first. You need a name. You need to get the name from a registrar, which is a company that provides domain-name registration services. Domain names are registered for 1-year periods, and you can pre-pay for multiple years if you wish. They're pretty inexpensive these days, typically less than $10/year.
Godaddy is a popular registrar. My own favorite is Moniker, though.
It can be hard to find a good available name these days. You may need to go to an "alternative" TLD (Top Level Domain) as opposed to the most popular .com to get a decent name.
You might want to consider buying the rights to a domain name that somebody already has registered. I recently paid about $500 for one that I intend to develop (peepr.com) and sold one I wasn't using for the same price (stockclub.com). Both transactions were done through SEDO, which I highly recommend. I really recommend fixed-price listings for both buying and selling. Both of these were done with fixed-price listings. (I probably sold the latter for too little, since it was bought by a company that buys domain names and immediately puts them back up for sale... But it accomplished the purpose of paying for the new one, which I do think I got a pretty good deal on.)
Once you have a name you are happy with, THEN go shopping for a web host. I don't recommend getting your domain name from your web host, because it is a business risk to put too many eggs in one basket. As well, some hosts are shady, especially when dealing with newbies, and put these "free" domain name registrations in their OWN name, locking you forever to their hosting service. (Some unscrupulous web designers and programmers have been known to pull this dirty trick as well...)