Can object index be used as driver variable?
import bpy
bpy.types.Object.index = bpy.props.FloatProperty() #Create new property 'index'
obs = bpy.context.selected_objects
i=0
for ob in obs: #Object created last will be in the first iteration and so on
  ob.index=i   #Assign value for selected objects in reversed order of creation
  i+=1