Does Blender have a transform modifier? I mean a modifier that can do scaling, rotation and translation, just like s, r and g respectively, as you would normally do with a mesh. However, s, r and g do this permanently to a mesh, but I am asking for a modifier that you can undo or change easily, and will be permanent only if you apply the modifier. If yes, then can the modifier use different pivot points, such as , active element, 3d cursor, median point and individual origins?
Alt-S will undo scaling (ie. set scale factors to 1.00) Alt-R, and Alt-G will, in the same way, undo rotation and translation respectively. In that sense, S,R, and G are not permanently changing your mesh objects. If you want to make transformations permanent, Ctrl-A and Apply rotation etc. Does that answer your question?
I don't think there is a modifier that can do this. The Lattice modifier is close but it doesn't transform the object as you might expect if you rotate it.
I think the best thing you can do is to parent the object you want to non-destructively transform to an Empty and perform all the transforms on the Empty instead of the object. If you want to 'undo' all the transforms then just un-parent the object and it will revert to its pre-transformed state (as long as you choose the standard Clear Parent option from the Alt+P menu).
If you want to 'apply' the transforms you did on the Empty to the object itself then choose Clear and Keep Transformations from the Clear Parent menu.