@Kent1Cooper wrote:
.... I'll have to play with it later, if someone else doesn't beat me to it.
Attached is a greatly improved but still imperfect routine. It doesn't do quite what's in your private-message image, because the locations were too arbitrary to determine how to assign them, but puts things kind-of like most positions in your Message 1 image, with results like this:

NOTE SEVERAL THINGS:
Some of the caveats from my earlier routine still apply [doesn't reposition the numbers, uses closest building it finds which may not always be the right one, those near a Servicebox but not a Building use nearest Building however far away, etc.].
It finds the longest segment of the Building-Layer object it finds nearby [arbitarily one of them if it finds more than one in the same selection attempt], aligns the Text with that, changes its justification to Middle-Center and places its insertion point outboard [most of the time -- see below] of the midpoint of that longest segment by a distance of the Text height.
Where two building perimeters abut along a shared longest segment, as in the ...KA36 and ...KA37 ones in the image above, assuming the routine "saw" the right building in relation to each, the Text pieces should end up outboard of the applicable building, and therefore each inside the other building. So you definitely will still need to do some cleaning up and checking, and figuring out where to place Text in those kinds of relationships.
For some reason I haven't figured out yet, it sometimes puts some of the Text objects inside rather than outside the buildings [see the ...KA16 one in the image], but if I run the routine again on those, they go outside.
If a building has more than one segment of equal length [such as a true rectangle or square], it will use the down-stream-most segment. You may prefer the opposite side of a rectangle, or some other side of a square, but in any case, the longest segment may not always be the best reference for your purposes.
If any Mtext objects are multiple-line, the insertion point at the middle-center will still be placed outboard of the building by the text height, so the content will probably always overlap the building.
Kent Cooper, AIA