Suggestion in my comments "Convert back to integer raster, region group, to polygons, dissolve to multipart" will work for polygons derived from rasters.
However in general it's better to start with suggestion by @Polygeo . You'll need to use script though:
import arcpy
import networkx as nx
## replace 2 lines below to point to polygons and neighbours table
Nodes=r'C:\SCRATCH\SCRATCH.gdb\R2P'
Links=r'C:\SCRATCH\SCRATCH.gdb\NBRS'
fldFROM,fldTO="src_OBJECTID","nbr_OBJECTID"
G=nx.Graph()
with arcpy.da.SearchCursor(Links, (fldFROM,fldTO)) as cursor:
for f,t in cursor:
G.add_edge(int(f),int(t))
d,N=dict(),1
for group in nx.connected_components(G):
for n in group:d[n]=N
N+=1
with arcpy.da.UpdateCursor(Nodes, ("OBJECTID","GRP")) as cursor:
for k, v in cursor:
if k in d:v=d[k]
else: N+=1;v=N
cursor.updateRow((k,v))
Script assumes that your neighborhood table called NBRS, your polygons stored in file GDB and there is a field called "GRP" to store group numbers.
