Copy
node = hou.pwd()
geo = node.geometry()
geo2 = node.inputs()[1].geometry()
uniqueName = geo2.findPointAttrib("name").strings()
cpGeoList = {}
for i in uniqueName:
cpGeo = hou.Geometry()
cpGeo.merge(geo)
prims = [p for p in cpGeo.prims() if p.attribValue("name") != i]
cpGeo.deletePrims(prims)
cpGeoList[i] = cpGeo
tempGeo = hou.Geometry()
for i in geo2.points():
cpName = i.attribValue("name")
tempGeo.merge( cpGeoList[cpName] )
geo.deletePrims(geo.prims())
geo.merge(tempGeo)