I can't tell you anything AMOS specific, but I do know vector mathematics ;-)
Your best bet is to create a Vector type that has x,y,z,1. You can use a 4x4 matrix to perform any transformation on such a vector - rotation, scaling, translation, projection, you name it.
You can multiply these matrices together to create a matrix that can do transformation (scale, rotate, translate, etc.) of your data in a single vector*matrix step.
This is basically what OpenGL does to process polygons.