Although this is true, the unique identification doesn't need to be explicit.
Of course, if you want a generic vector to be animated, you'll have to provide that vector with a name.
And since, at problem solving stage, every vector might need to be animated, every vector needs to be uniquely identified.
If one requests a Placement component (what is my name here used for a combination of position and orientation) for the address of the "position", or for the address of the "position.x" element, the component can resolve this with its knowledge of its own internal structure.
However: Animating vectors without considering their semantics is dangerous. E.g. animating a point like a direction (or looking at scaling factors as a vector in the mathematical sense) will be problematic. So one has to distinguish things by type and semantics to build up a robust system.
This lack of robustness is one reason why I, personally, have dropped the idea of being able to animate everything. Nowadays I'm using defined controllers like Parenting, Positioning, Aiming, Aligning, ... up to more complex ones like Grabbing and Animating (perhaps I should mention that Animating is a time dependent thing, while the others are automatisms depending on other Placements and perhaps a state) for controlling Placement. This list is to be expanded for other targets under control, of course.