Save objects in Object ID Properties (Blender 2.79)
import bpy
scene = bpy.context.scene

class MyPropertyGroup(bpy.types.PropertyGroup):
    obj_pointer = bpy.props.PointerProperty(name="Object", type=bpy.types.Object)
    custom_2 = bpy.props.IntProperty(name="My Int")

bpy.utils.register_class(MyPropertyGroup)

bpy.types.Scene.id_objects = bpy.props.PointerProperty(type=MyPropertyGroup)

scene.id_objects.obj_pointer = bpy.data.objects[0]
print(scene.id_objects.obj_pointer.name)