This one assumes all columns are defined as NOT NULL and I think looks much cleaner.
SELECT *
FROM tblAddresses
WHERE Address1 LIKE COALESCE(@Address1,Address1) AND
Address2 LIKE COALESCE(@Address2,Address2)
City LIKE COALESCE(@City,City) AND
PostalCode LIKE COALESCE(@PostalCode, PostalCode)
I guess I should note that these queries are *really* costly with so many LIKE's, if you don't need the LIKE , then you should definitely replace them with an =.