Normally, I would suggest extracting each polygon into a separate layer and then unioning the lot. The table would tell you which polygons overlapped, and by how much. Doing it as a file Geodatabase would automatically generate the areas and be easier to handle than individual shapefiles.
However, with "thousands" of overlapping polys, the resulting table will be quite wide.
It may be better to automate an extraction and analysis loop in python:
- select a polygon, and get its area
- select all polygons overlapping that selected one, and make a list of their FIDs
- export the identified overlapping polys to separate feature classes (select them by their FID)
- union the exported polygon feature classes (or use Identity, if you have ArcInfo)
- extract the desired information from the unioned FC table (total area of overlap) and write it, along with the list of overlappers and the original polygon's area) to a new record in a stand-alone table
- calculate the percentage of overlap area to original polygon area in that record
- delete the union and intermediate FCs
- select the next polygon in your original file and do it again
It gets more complex if you want the amount or percentage each polygon overlaps the target...
Mark Denil