Hi Lopolo,
Thanks for the extra information that was not clear from the initial post.
=====
How about this one here:
https://www.amazon.com/clouddrive/share/Ndh3eOmPprcyrtfaVQ9Xm90O7cZy2rXAfrMWMuCUuib
You select all objects in question, and copy the Xpresso tag to it, if they can be under a Null, then copy tag to children is possible. The Xpresso tag has the User Data.
======
In XPresso, XPool> System Preset> General Presets> Memory list, this can record data. Less intuitive.
======
My old way, and proven to be stable, hence why I like it even today, is to write the data into an object.
Here is an example:
https://www.amazon.com/clouddrive/share/EeYf8nzxjDm2pGOGPklMmMrIA12Y3VvYI78rKgMPiIQ
The values are stored as point value in the Plane. Which is recorded at Frame zero.
This Plane can be used to request those values via index.
======
Another simple method is to drag all the Objects into a MoGraph Tracer and Connect those (Exclude Vertices), then use a Current State To object on Frame zero, and you have your initial Position.
======
If all objects would have a parent on frame zero, and the child object would be zeroed out, any animation to the Child would leave the parent as a frame zero pos.
All the best