There are free databases, but their size is quite limited. Cheap databases (this one http://tinyurl.com/findphoneowner being recommended by a friend in the industry) are bigger & accurate. For free databases, just see whitepages.com.
From what I know there is a way you can look up a phone number. The Yellowpages offers a reverse look up too on their website. All you have to do is put the number in and it will give you the information