Both the DNA and the RNA polymerase complexes moves along the DNA molecule like it was a track. While the new mRNA is big, it would never be as big as the whole genome, so the reference point is the DNA molecule. Plus, the functioning of the movement of this enzymes is quite similar to other proteins that move "climbing" long polymers, such as actin polymers or microtubules.
One of the theoretical models that describes the movement of this kind of proteins is the model of rectified thermal diffusion, based on Richard Feynman's idea of the Brownian ratchet. A Brownian ratchet is a device that allows the conversion of Brownian random movements into a directional force.
http://en.wikipedia.org/wiki/Brownian_ratchet
The polymerases consume ATP, which enable them to suffer cyclic conformational changes (one change per ATP consumed), which allows the complex to attach to the molecule and detach. Once the complex has detached, by simple diffusion it moves in a random direction. Then, it attaches again. If the movement has occurred in the right sense, it will stay where it ended, while if it has gone in the wrong sense it will return to its previous position. As only a few movements are allowed, the complex will only move in that sense, even if the motor force is random.
I don't know exactly what conformational changes occurs in the RNA polymerase, but this general process seems to apply to almost any motile protein, including those enzymes that travel across polymers. Since the motor force is simple diffusion, and since the mRNA molecule doesn't need to "travel" with the polymerase (it just floats joined to it, but doesn't "pull"), I think there isn't any trouble with this.