I came across this table below to identify the home state (Indian) to which a a BSNL (Bharat Sanchar Nigam Ltd) cellphone belong to. For example, if the cell phone number is 9447100100, its first 4 digits are 9447, which belong to Kerala state as per the lookup table given below.
| Andaman & Nicobar Islands (A&N) | 9479, 9432 |
| Andhra Pradesh (AP) | 9473 , 9440, 9441 |
| Assam | 9478 |
| Bihar | 9475, 9431 |
| Chennai | 9470, 9444 |
| Kolkata | 9481 |
| Gujrat | 9457,9426 |
| Haryana | 9450, 9416 |
| Himachal Pradesh (HP) | 9451,9418 |
| Jammu & Kashmir (J&K) | 9452,9419 |
| Karnataka | 9471, 9448 |
| Kerala | 9472, 9447 |
| Madhya Pradesh (MP) | 9458,9425 |
| Maharastra | 9456, 9422 |
| North East (NE) states | 9477 |
| Orissa | 9476, 9437 |
| Punjab | 9453, 9417 |
| Rajasthan | 9459, 9414 |
| Tamil Nadu (TN) | 9480, 9443 |
| Utter Pradesh (UP) East | 9455, 9415 |
| Utter Pradesh (UP( West | 9454, 9412 |
| West Begnal (WB) | 9474, 9434 |
As of now, I do not have the similar kind of information for other mobile providers in India. I will publish it as soon as I get the information.
Hope this helps. Please post more BSNL numbers if I am missing any in this list.

Comments by Readers:
rajasthan mobile also include 94601
pls chek the codes on ur site as many of them r wrongly mapped
i dont know about the pre-paid bsnl numbers but if these numbers that you 've put up indicate post paid numbers then they're wrong.kolkata numbers start with 9433..and assam is a part of the north east as well..numbers range from 94350-94360-61 and so on.
karnataka mobile also include 94801