Använd inte aliaset (P ) i din WHERE klausul direkt.
Du kan antingen använda samma REPLACE logik igen i WHERE klausul:
SELECT Replace(Postcode, ' ', '') AS P
FROM Contacts
WHERE Replace(Postcode, ' ', '') LIKE 'NW101%'
Eller använd en aliasad underfråga som beskrivs i Nicks svar.