If you're dead set against creating an intermediate feature class, you can do so using Python:
>>> points1 = 'Layer1' # input layer 1
... points2 = 'Layer2' # input layer 2
... sr = arcpy.Describe(points1).spatialReference # CRS of layer 1
... lines = [] # temp line list
... dict1 = {row[1]:row[0].centroid for row in arcpy.da.SearchCursor(points1,['SHAPE@','NAME'],spatial_reference=sr)} # load layer 1 to dictionary
... dict2 = {row[1]:row[0].centroid for row in arcpy.da.SearchCursor(points2,['SHAPE@','NAME'],spatial_reference=sr)} # load layer 2 to dictionary
... for k1,v1 in dict1.iteritems(): # loop dictionary 1
... if k1 in dict2: # see if key exists in dictionary 2
... new_line = arcpy.Polyline(arcpy.Array([v1,dict2[k1]]),sr) # create line
... lines.append(new_line) # add to line list
... arcpy.CopyFeatures_management(lines,r'in_memory\lines') # write lines to feature class