I got just what you need:http://www.societyofrobots.com/mechanics_dynamics.shtml
Basically it explains how to calculate all of your questions. If you just want answers fast, search for the excel sheet on that page. Just plug in values and it will calculate what motors would work best for you.
What about speed controller suggestions?
this would very much depend on current draw, which is dependent on many other factors. i would recommend going for the speed controllers meant for battlebots.
Do you suggest using 1 or 2 front caster wheels?
one caster is better since its less friction, but if your robot is going 5pm and is top heavy, then it might flip over on sharp turns. if you use two casters, then each would only need to handle half the robot weight (possibly a good thing). i would say go with two to play it safe, but it depends on many factors . . .
What material and gauge/thickness would you use to build your frame? It’s not a battle-bot, so it should not need to withstand heavy beatings.
complicated question . . . steel is the strongest, but would also greatly increase robot weight. aluminum is the lightest, but the most expensive. the shape of the frame is also very important. if you really arent sure, and dont know how to calculate for bending stresses, just go with the strongest material you can work with your tools. i like to use plastic because its really cheap and lightweight, but if you dont design it right, it'll just bend and wont work . . .
my best advice is to do everything you can to keep the robot weight as low as possible. robot complexity and cost increases exponentially with a linear increase in weight.