Is it possible to use bpy.props.PointerProperty to store a pointer to an object?
As of release 2.79
it is possible to store a pointer to an object

Usage example:

my_pointer = PointerProperty(name="My Pointer", type=bpy.types.Object)