Try
www.fonefinder.net. You enter the area code and prefix. The return will tell you if the number is a hardline or cell, who the carrier is, and in which city the switch is located. However, it won't tell you if a number has been ported. For example, when I check my Treo's #, it shows up as "Sprint-Spectrum" (who around here remembers when that was Sprint's name?) My number belongs to VZW.