The global variables should be an instance variable on the buildings then you have 1 instead of 165. You would link the text object to the building with a condition such as is overlapping the building.
The second section, if you put the building objects into a Family you can use one event with the Family, so for the first bit I mentioned use Family instance variables from the beginning on the buildings to enable easy use of them.