Imported OBJ Groups to Vertex Groups
You can write a script to create the groups with all the vertecies in one group for each mesh and then just join it.

I just quickly threw this together. I don't usually write much python, so don't confuse this with good code (I'm sure some list comprehensions could clean this up nicely).

import bpy;

selected = bpy.context.selected_objects
print(selected)
selected_meshes = []

# only use meshes of the selected objects
for obj in selected:
    if obj.type == 'MESH':
        selected_meshes.append(obj)

# for each mesh make a vertex group with all vertices in it
for obj in selected_meshes:
    vg = obj.vertex_groups.new(obj.name)
    verts = []
    for vt in obj.data.vertices:
        verts.append(vt.index)
    vg.add(verts,1.0,"ADD");

# join meshes 
if len(selected_meshes) &gt; 0:
    # copy selection to new context to avoid messing with selection of the current scene
    ctx = bpy.context.copy()
    ctx['active_object'] = selected_meshes[0]
    ctx['selected_objects'] = selected_meshes
    # this was jsut copypasta from here: https://blender.stackexchange.com/questions/13986/how-to-join-objects-with-python
    ctx['selected_editable_bases'] = [bpy.context.scene.object_bases[ob.name] for ob in selected_meshes]
    bpy.ops.object.join(ctx)