Because your concatenated string starts with a numeric value, SQL assumes you mean to generate a number: so it is trying to convert ' ' to a number, and failing.
Try:
select (CAST(BuildingNumber AS NVARCHAR(20)) +' '+ BuildingName +' '+ Postcode) as CompleteAddress from addressRecord
where( CAST(BuildingNumber AS NVARCHAR(20)) + ' ' + BuildingName + ' ' + Postcode )like '%PL1 1AB%'