This might help you,
This is our team's robot from 2005. On the first stage of the arm we used two of the 6v FP motors (they messed up that year and gave a bunch of teams the wrong motor). On the second stage we used a single van door motor. We used cable and bicycle wheels to gear down the main arm about 18 to 1* and we geared the small arm down to about 9 to 1*. It had no problem holding a single 9 lb tetra 13' out. Here is a link to a picture of the robot.
http://www.chiefdelphi.com/media/photos/21524
As for programming we used a potentiometer on each arm and compared the value they gave us to a target position for the arm. Based on that information we passed a value to the motor to move.
If you have any questions please feel free to ask.
-Dan Karol
*numbers are a guess and may not be what we actually used.