2. send custom data to identify the car
simple, just program in a different number as a constant when you program each car, send it along with GPS.
1. transmit the gps data from a car to a webserver in a range ok 30km!
You either need to build a licensed wireless communication network, or use one that already exists. May I suggest the second approach ;-) Any of the wireless carriers would be glad to sell their services. There are also many projects here about interfacing Arduino to wireless shields, google for the type of network (GSM, PCS, CDMA, etc) that your local carrier can provide.