In case you do not find a way to get a solution using the system tool, here is a python script you can try on. import arcpy
proposed = r'D:\data\f.gdb\points_A'
original = r'D:\data\f.gdb\points_B'
# create an empty dictionary to store shapes
proposed_points = {}
with arcpy.da.SearchCursor(proposed, ("5k_ID", "Shape@")) as cursor:
for row in cursor:
# populate the dictionary
# use 5k_ID field value as the key of the dictionary
proposed_points[row[0]] = row[1]
# create another dictionary
original_points = {}
with arcpy.da.SearchCursor(original, ("5k_ID", "Shape@")) as cursor:
for row in cursor:
# populate the dictionary
# use 5k_ID field value as the key of the dictionary
original_points[row[0]] = row[1]
# iterate one of the dictionaries with ID values
for id_5k in proposed_points:
# get proposed and original points with same ID
orig = original_points[id_5k]
prop = proposed_points[id_5k]
# now find the distance
dist = prop.distanceTo(orig)
print dist