Given my understanding of your scenario I think the following routine may be a helpful avenue to explore. Not sure if you are open to a scripting option (scripting may end up being necessary though) but for this answer I am focusing on just general routines that you could follow by manually running ArcMap tools and manipulating tables with field calculator operations.
Set up Unique IDs
Make sure the properties and buildings feature classes have UIDs set so that you can conduct joins and/or reference their original state after doing the procedures below.
Conduct a spatial join
Use the Spatial Join Tool with:
- Target: Properties FC
- Join: Buildings
- Join Operation: One to Many
- Match Option: Intersect
This will give you a new FC with the geometry of your properties but now you will have a crosswalk table between properties IDs and building IDs that intersect. This will allow you to handle buildings that fall completely within a property but also those that span multiple properties (as shown in your screenshot).
Convert to vertices
Use the Feature Vertices to Points Tool to convert both the properties and buildings FC into point FCs based on their vertices.
Generate Near Table
Use the Generate Near Table Tool and be sure to un-check the "Find only closest" option. Use the vertices point FC version of the properties and buildings as inputs. This will produce a table of ALL distances, near and far from all points. This may end up being very processor intensive though since your data set seems fairly large. You may need to set a "Search Radius". I would recommend something a bit larger than your largest property perimeter.
Join Near Table to Spatial Join FC
This is where things get a bit tricky. The near table should have a way to join the distances back to the buidlings and properties FCs but it will likely use the FID or OID to do so, not the UID that you created in the first step. May need to play around with this concept to figure out how best to join these features. The ultimate goal though would be to have those distance values joined to the spatial join FC from the first step (the crosswalk one that has both UIDs from buildings and properties).
Again, this step is still a bit theoretical and will require some implemntation testing depedning on what your data looks like. The general idea though is that you should hopefully now have a spatial join FC with:
- building IDs
- property IDs
- lots of near distances
You would then want to figure out a way to dissolve the spatial join FC based on the property IDs using the maximum value of the corresponding building ID near distance. There may be a way to munge your data and fields to have the simple Dissolve geoprocessing routine do this, but I think in the end it may require some scripting. Still trying to noodle it out a bit using some dummy data I made based on my understanding of your data and scenario.
Hopefully this helps give you some avenues to test out. Let us know if you are open to a scripted solution. Might be able to help out some more.