This can be accomplished in two steps using the following workflow, assuming you have the ArcGIS Spatial Analyst license:
- Extract Multi Values to Points (Spatial Analyst)
- Select (Analysis)
Step 1 adds the raster value (i.e. slope) at each point to the attributes. Step 2 selects and creates a new feature class of all points that meet your condition (i.e. where slope == 0). Note keep in mind this will alter your original point feature class, so make sure to use a copy.
In Python, this would look something like:
from arcpy.sa import *
points = r'C:\path\to\your\point.shp' # This should be a copy
raster = r'C:\path\to\your\slope_raster.tif'
outshp = r'C:\path\to\your\output_shp.shp'
# Execute ExtractValuesToPoints
ExtractMultiValuesToPoints(points, raster, "BILINEAR")
#Select points that meet your condition
where_clause = '"slope" = 0'
arcpy.Select_analysis(points, outshp, where_clause)