Can I reduce rpm further of a gear motor by using PWM?
What about a leadscrew and stepper motor?  A stepper with microstepping will smoothly move an object down the leadscrew as slow as you'd like, with no discernable backlash, and you can get leadscrews up to 3 meters long pretty easily and cheaply.  If a leadscrew is too pricey, what about a bog-standard threaded rod?

edit: Since you don't want a leadscrew, how about a stepper and a friction-fit drive wheel?

Drive the stepper with a Pololu stepper driver, a pulse generator (555, PIC10F, whatever).  For a stepper, any 4-lead bipolar stepper will work.  A sample one can be found at Allelectronics.

The Pololu drivers are easy to use.  A hookup diagram is provided on their site.

Its worth noting if you do end up using the leadscrew, the lower torque from the stepper will be amplified oodles.  The same mechanism can work for the gearmotor as well, just use a coupler.  1/4-20 requires 20 revolutions to move an inch, 3/8-12 requires 12 revolutions to move an inch.  0.5 RPM on the leadscrew means you'll be moving a whole inch every 6 hours :)

================== parts: ===================

As for where to get parts:
Mcmaster has 12ft 3/8" ACME leadscrew (true leadscrew) for $16 ... search for 98935A622.  A corresponding nut is $2.28: 94815A106

1/4-20 threaded rod is as cheap as $8: 98957A029 and the nut is probably in your garage somewhere.