First of all, you don’t need whole picture animated, just lower half, minus rock in the middle. So, make cut picture in four segments, per half and rock – static, small part on the left and bigger part on the right – animated. That will reduce file size drasticly.
As for loop: make in photoshop seamless texture (with Offset) of your smoke and animate one cycle with Effect>Distort>Offset. And that’s it.
Since you reduced file size with static parts, you could increase duration of your animation if you wish…