Are you storing references to each piece’s actor in a main building actor of some sort to track which piece belongs to what? If so, you could pipe those into an array to feed the ignore pin on the overlap.
Another option would be to use gameplay tags, and on the out hit of trace you could do branch and check if the hit actor has a tag you want to ignore. For instance, if you want stairs to overlap walls, tag the wall with IgnoredByStairs or some such, and have stairs look for the tag on the out hit and force a false return.