Anything is possible!
Let's talk about the three different kinds of motors you are likely to encounter:
1) Standard DC motor
These come in a variety of voltages, torque, etc. Most DC motors that you'll want to deal with run at thousands of RPMs, and have a fairly low amount of torque. Obviously, thousands of RPMs with almost no torque is fairly useless for most applications, so there are "DC Geared Motors" - these are standard DC motors with gearboxes of numerous varieties attached. Often you'll find these gear boxes going from low-end (3:1, 5:1, etc.) giving them a fairly high RPM and fairly low torque, but useful for more applications. You can get into things like the dayton gearmotors which are pretty tough and come rated on the order of 100's:1. I have one at home that's something like 3 RPM, and 800 oz/in of torque!
Now, you have three ways of controlling their speed:
a) voltage reduction. If you reduce the voltage, you reduce the speed. But this also reduces torque, not necessarily a desired result. (This is what you mean by your "rheostat", I believe)
b) PWM. Pulse-Width-Modulation, that is. Basically, you send the required amount of voltage as a "pulse". That is, you bring it to full voltage for a fraction of a second, and then back down to zero. PWM is measured in a percentage of "on" to "off". For example, a 50% PWM would be on half the time, off half the time, and 75% would be on 3/4th the time, and off 1/4th the time (effectively 75% speed). This is one of the most common ways of controlling the speed of fixed-gear motors, but has its limitations. For example, I've yet to find a motor in my workshop that can effectively move at a PWM rate less than ~ 20%. Meaning you can only reduce speed by about 80%. (You could use a potentiometer with a microcontroller, or PWM controller to control the rate of PWM, if you liked.)
c) gear-trains. You can use a gear train from the output of the motor to your final drive destination. You get to pick the ratio you want. If you want a 50RPM motor to go at 5RPM, you create a gear train of 10:1, if you want a 5RPM motor to go at 50RPM, you choose 1:10. The drawback here is that speed is still fixed, if you want to change the speed, you'll need some sort of clutch to switch between gears.
2) Servo motor.
A servo motor is a great beast, and are used heavily in RC model world, amongst others. It's basically a DC motor and a gear-head with a built-in motor controller that is able to determine the exact position of the final output gear (e.g. "I'm at 100 degrees position") by reading the value off a potentiometer included in the motor housing. You send it PWM (see above), and the pulse train tells is where you want it to be. It constantly compares the input PWM against what it reads off the potentiometer, and adjusts its position accordingly.
Unfortunately, you can't really control their speed. You can only tell it where to go, and it gets there as fast as it can. Even worse for a time-lapse implementation, they can only move in 1-degree increments (I can tell you how to make them move in 0.35 degree increments, but we're getting into creating your own motor controller here), and are generally limited to a total of 180 degrees of movement. The only 'speed control' you get from these, is waiting between telling them to move to the next degree.
You can use gear-trains with servos, but that serves little purpose, as they just reduce the actual movement -- if your driving gear can only move half a rotation [180 degrees], and you need 3 rotations of it to make one rotation of an output gear [3:1 gearing] your final output gear could only move 1/6th of a rotation.
3) Stepper motor.
These are very useful motors, and are used in an infinite variety of applications where high torque and low speed are requisite, and also where you need to be able to move in extremely small increments. I won't go into their operation, as it still makes my head hurt to think about it sometimes.
Essentially, a stepper is a motor with lots of poles in it, that can be told to move a fraction of its rotation at a time. You'll usually find them with 'steps' up to 200 (1.8 degrees rotation). But to make these beauties even better, there are now 'micro-stepping' drivers for them, which can make them operate with up to 8x as many steps as they come with. So your 200 step motor becomes a 1600 step motor.
A stepper seems daunting at first, compared to both the servo and standard DC motor - I mean, they come in 3,4,5,6,8 wire varieties... It's only really a big deal though, if you intend to create your own driver. There are _tons_ of drivers out there for them, ranging from the $15 easydrivers (I use these in my project), to several thousand dollar jobs used in CNC applications.
I use steppers in my project, and gear them down (3:1, 5:1, etc.) this is handy, as I can now make even smaller, more discreet movements than with the stepper alone.
Like servos, you control speed of a stepper by reducing the rate at which you tell it to step. Unlike servos, there are generally no built-in controllers, and no guarantee that it actually moved the step you wanted it to. You'd have to rig up an encoder or something to determine the actual amount moved.
AFAICT, steppers are the motor of choice for time-lapse. =) My reasoning is:DC gear motors don't give you enough speed options without serious drive-train complexity, and servos, even if hacked and manually controlled, don't give small enough movements to work out with a smooth visual transition. I tried 0.35 degrees, and it looked very choppy.
Hope this helps a bit?
!c