I would start by creating the query that returns the complex names and addresses and the building names and addresses all in one query.
Then I would create a report based on this query, and set the initial grouping by the Complex Name or Complex ID. Put all of the "complex" textboxes in the group header.
Then put all of the building name and address info in the reports details section. Then in the detail sections Format event add some code that looks similar to the following to hide the address fields if they match those of the complex.
Private Sub Detail_Format()
Dim bVisible as boolean
bVisible = me.txt_Complex_Address <> me.txt_Building_Address
me.txt_BuildingAddress.Visible = bVisible
me.txt_BuildtingStreet.visible = bVisible
me.txt_BuildingCity.visible = bVisible
me.txt_BuildingZip.visible = bVisible
End Sub
HTH