Ok first off the light mover:
http://www.lightrail3.com/light-rail-5-0-commercial-drive/
Look at the kit. You can adjust the motors speed (if you can't do it on that specific model I'll show you another one that can I literally just googled the first light mover) to whatever would be ideal for your room. If it moves too fast and you can't adjust the motor you could just buy a slower motor (less rpms), or an adjustable one, I know for a fact that they do make those. I have no idea why you think you would need a program for that.
Onto the dimming. I'm pretty sure you can figure out the pseudo code, I'll do an outline for you:
You need to get a timer that will hook up to a computer, basically it needs to have a very basic os so it can understand some sort of code. You may have to resort to using machine code, which would blow, but isn't too hard if you know hex. You won't find this at a hydro store, but they most certainly do exist. You could probably find them online. You could also ask your electrician. I'm actually almost positive they already have mechanical timers that will do this for you. I think they are called three way timers, but in the case that they don't.
Hour counter, make a program that keeps time, preferably one that does it by the hour. Have the hour count go up to 24.
ballast strength, make a program that controls your ballast's strength. The new digital ballasts have 5 options I think. So you would make it so it could read from 1-5
int ballast str= x = 0
int hour=0
while hour > 0 < 12
x = 3
if hour > 1 < 11
x=5
For veg
int ballast str= x = 0
int hour=0
while hour > 0 < 18
x = 3
if hour > 1 < 17
x=5
That'll cover the basic stuff. Again, I'm almost positive they have mechanical timers that will do that for you already, but in the case that they don't there's the pseudo code. I'm also pretty sure there are some digital three way timers you could buy at your local hydro store, but I don't really shop for that sort of thing, so I don't know for sure. I agree with you that being able to hook up a grow room is the way to go, but you need to know a little bit about hardware to do it. Specifically circuits, once you can create a circuit that understands what you are telling your mechanical shit to do you're golden. I unfortunately do not know too much about circuits; however, I have a few friends that do. Maybe I'll get off my lazy ass some day and turn that pseudo code into a real program... it would be a fun little experiment... I have no need to grow indoor for a little while, so when I run out of weed it'll probably be my motivating factor of when to get off my ass.
Edit: Found one!
http://www.globalindustrial.com/p/electrical/timers/electronic/120-240-277v-20a-spdt-outdoor-lighting-control-no-case