The following arcpy-based script which uses select layer by attributes is a good starting point. I retrofitted the script to work as a script tool in ArcGIS. You can easily substitute polygon FCs for point FCs in the Select Layers section to tailor the script to your specific needs.
# Import system modules
import arcpy
from arcpy import env
# Set the workspace
env.workspace = arcpy.GetParameterAsText(0)
Dir = env.workspace
# Local variables
input = arcpy.GetParameterAsText(1)
polygon = arcpy.GetParameterAsText(2)
expression = arcpy.GetParameterAsText(3)
name = arcpy.GetParameterAsText(4)
# Make a layer from the input feature class
arcpy.MakeFeatureLayer_management(input, "lyr")
# Select all points or polygons which overlap the polygon/s of interest
arcpy.SelectLayerByLocation_management("lyr", "intersect", polygon, 0, "new_selection")
# Within selected features, further select based on a SQL query within the script tool
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", expression)
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("lyr", Dir + "\\" + str(name))
Using the following parameters:
In this test example,the output includes only the points 1) within the polygons and 2) with "OBJECTID" > 50.