Unfortunately, this kind of GUI is not exposed via custom script tools. Your best choice would be to have a list of strings of MultiValue
type and then let user tick the boxes besides the rows to choose records (here is how it can be generated).
The script tool source code:
import arcpy
in_fc = arcpy.GetParameterAsText(0)
in_field = arcpy.GetParameterAsText(1)
in_records = arcpy.GetParameterAsText(2)
for rec in in_records.split(';'):
arcpy.AddMessage(str(rec))
The ToolValidator class:
def updateParameters(self):
"""Modify the values and properties of parameters before internal
validation is performed. This method is called whenever a parameter
has been changed."""
if self.params[1].value:
fc = self.params[0].value
field = self.params[1].value
with arcpy.da.SearchCursor(fc,field.value) as cur:
self.params[2].filter.list = [row[0] for row in cur if row[0] is not None]
return
The GP GUI:

Alternatively, if your end users are savvy enough, you could provide them with an input parameter of SQL Expression type which has the Obtained from
property that makes it possible essentially to replicate the Select By Attributes dialog box in ArcMap.
*.tbx
) or Python (*.pyt
) toolbox?