Yes they are all gramatically correct, and they all mean roughly the same thing. There isn't much to choose between them, let's see:
"Look at those tables, stacked one on top of another."
To me this says "there are many tables, stacked up in an arbitrary fashion" - probably what you intended to say with this sentence!
"Look at those tables stacked on top of one another."
Means exactly the same as the above sentence. It's ever-so-slightly more poetic.
"Look at those tables, stacked one of top of the other."
The use of the here implies there are only 2 tables. Probably not what you meant, but if it was then it's valid.
"Look at those tables stacked up."
In this one the tables could be stacked up in any configuration, including possibly on their sides but not necessarily on top of each other. Using stacked up is more common in US english than British english I'd say.