The 3D join option does exist .... but I think it requires 3d features. For 2D features, you would need to 2d join first to find out what points fall within which polygons, then compare the point z values to see if they were within the top/bottom of the values specified for the polygon. This would be done within the table of course using a query, or you could add a field to specify whether they met your criteria or not. Perhaps a snap shot of the table with the permanently joined data would move a concrete suggestion along.
From the help link above
INTERSECT_3D — The features in the join features will be matched if they intersect a target feature in three-dimensional space (x, y, and z). Specify a distance in the search_radius parameter.