Normally you would expect your phone number to give the best result. The Postal code is based on an average for the surrounding area.
Address should give you info based on the existing line if its a BT line and information is held in their database for that line.. else if its an LLU'd line or no existing data on that line is held, then information will be based on average of the local area.
However, (and as b*cat has already mentioned) if you are moving into a new home, and a new telephone number is allocated its not uncommon for the database to pull up information on the last known results for that telephone number. BT frequently re-allocate phone numbers and from your comments, then this is most likely what has been done in your case. The phone number could have been reallocated from an entirely different part of your town and in cases like this, it can be very wrong... and therefore the address or postal code is the better option.