The whole thing just looks wrong. Why would you cast an individual Address column to XML? That seems funny. And why would you replace a NULL address with a string like that? Yes, if you have in an XML document, it will be a space when you extract it. But your colleague does not have any XML at this point.
I think the snippet should be:
SELECT COALESCE(z.Address1, ' ') AS "@Address1",
COALESCE(z.Address2, ' ') AS "@Address2",
COALESCE(z.City, ' ') AS "@City",
COALESCE(z.State, ' ') AS "@State",
COALESCE(z.PostalCode, ' ')AS "@PostalCode",
COALESCE(z.County, ' ') AS "@County"
FOR XML PATH('Address'), TYPE
I've added @ before the column names to that the columns become attributes and not elements.