Yeah, I don't know much about scripting but as far as race positions go, it would probably be just incremental placed raycasters in the track attached to fixedUpdate. I can probably pull a script from the racing game tutorial. Stopping them from going backwards would be harder, but there's probably a script out there. For C# Unity tutorials, check out the Unity Community forums, or the Unify Wiki for code samples.
Edit: For speeds, I haven't really gotten a set speed yet, because for my project I plan on having speed classes like Wipeout 64 as well as top speeds and accelerations for each car. Collision detection is a bitch. I have a ramp in my second track, the desert one, and the damn cars go through the track like its not there. I saw a Don'tGoThroughThings script on the Unify Wiki which is supposed to improve that, so I'll check.
As for AI, I haven't gotten that far yet. I'm still trying to get the damn things to stay on the track and steer properly. I'll attempt to get some decent in-game footage.