Depends if you are working in some type of scale.
If you have a mesh, you are going to have a transform. If all of this is just simply a bunch of Vector3’s then you will not have a scale. The question is: Is this list of Vector3’s common to a position and/or rotation? If so, that means pretty much that they are going to follow an object.
All being said. Yes, you can still use a transform. All you would have to do is to create a single object in that space, rotation and scale as the original, it doesn’t even have to have a mesh or anything.
So lets assume that you have an object at 10,10,10 and that has a scale of 2 and some odd rotation. (just to say its a funky object.) And we want to get the position from a mesh, with it’s own position scale and rotation. To do this, we simply convert a point from the local orientation of the mesh to world space and then back to the local space of the new object.
Vector3 point = meshTransform.TransformPoint(vertex);
Vector3 local = object.InverseTransformPoint(point);
Now, because the local object is at whatever place that we are at “local” is a direction already.
// both of these specifically state that they are affected by scale. 
(this part is not really specific to your needs)
Next, if you have a direction already.
Vector3 direction = meshTransform.up;
Vector3 local = object.InverseTransformDirection(direction);
This now converts the up rotation of the mesh to a world direction, then converts it back to a local direction using the object as a reference. (this means that if an object is facing “north” and the other object is facing “down” that the final result of this, is that the transform actually faces towards the rear of the other object.)
// both of these are NOT affected by scale, since direction is not scalable like this.