How to include empty string in string_agg?
You can use COALESCE to map null to an empty string for all attributes that may contain null:

string_agg( COALESCE(P.house_number, '') 
         || ' ' 
         || COALESCE(P.street, '')  
         ...
) AS commercial_properties