Just update the uv's and call touch(). There's no point in calling compile(...) for each frame. It would be a nop anyway. Regarding performance, rendering static objects is faster than rendering dynamic ones (at least if they actually change...if they don't, it doesn't matter) and changing uv is even more expensive. As long as the objects are pretty simple, it shouldn't matter that much though. Just make sure to reuse TextureInfo-instances instead of creating new ones and call touch() only if something has changed.
As said, if you can move the geometry instead, then do it. Clouds, for example, can easily be animated by rotating a sky dome/box instead of modifying uv coordinates.