Python - draw custom panel in UI region only for 1 object
You would do this with the poll() method. It's a function within the operator class which returns true or false whether the operator can run within the given context. I can't remember for certain if the UI becomes visible/hidden or just active/inactive as a result... Could be either or.

The 'operator_mesh_uv.py' template has a pretty straightforward example for how it's used. It tests if the user is in edit mode, but it could just as well check if the active object is the correct one.

class UvOperator(bpy.types.Operator):
    """UV Operator description"""
        bl_idname = "uv.simple_operator"
        bl_label = "Simple UV Operator"

    @classmethod
    def poll(cls, context):
        return (context.mode == 'EDIT_MESH')

    def execute(self, context):
        main(context)
        return {'FINISHED'}


You could store the active object in a variable when the operator is registered and poll against that. Or you could manually add a custom property to the designated object. That way the information is stored within the blend file across sessions.

    @classmethod
    def poll(cls, context):
        return ("mycustomproperty" in context.object)