1. That depends on scope: if your vehicles will operate just in the city you can use a SMS-based device. If working in a wider area, you will have to use a satelite-based device
2. There are hundred of map engines, and depdends on your platform (windows, linux). Also you can use google maps or google earth. This is a good starting point:
http://opensourcegis.org/3. Have a look to this tutorial:
http://www.codeproject.com/KB/showcase/GIS_apps.aspx