Merging two separated parts back into one perfectly
Have you tried smooth vertex?


Select mesh
Edit Mode
Select these vertices/faces
select smooth vertex from the tools panel


UPDATE:

Another way to do this is adding the thickness to the opposite direction by flipping the face normals and then adding thickness using the solidify modifier. This will add thickness internally so that the original mesh is not messed up as shown below:

I split the sphere into upper and lower half:


I then switched to edit mode and flip normals:


Then add the solidify modifier with the desired thickness and apply it:


as shown I added thickness -0.8 which was added internally.

I then joined the two meshes:



As shown the lower half has more thickness than the upper half.

I wrote the below script to do these steps between two meshes automatically:

import bpy

ob = bpy.data.objects['Sphere.001']
ob.select = True
bpy.context.scene.objects.active = ob
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.flip_normals()
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.modifier_add(type='SOLIDIFY')
bpy.context.object.modifiers["Solidify"].thickness = 0.8
bpy.ops.object.modifier_apply(apply_as='DATA', modifier="Solidify")
ob2 = bpy.data.objects['Sphere']
ob2.select = True
bpy.ops.object.join()


A blend file can be downloaded from here: