the idea is awesome, I always like to spend my oil-millions in improving the road-infrastructure (even when not using it for local transportation).
Since there is already a counter for each road-tile that counts vehicles, it should not be too hard to code it that way, that each car is charged a toll.
Best would be a system where the player can enter an amount he would like to charge (like e.g. 2,50$) and then the cars would either drive along (thus paying the player 2,50$) or just turn around because they don't want to pay. This should be done via randomness influenced by the height of the price, so that higher prices will be more often rejected, lower prices not. If your road is too long for one toll-booth to repay your investments, you could separate the road into segments that are individually charged for.
The other way would be, to set fees automatically according to the length of the road, this should be possible somehow since it already is done by the game-logic to calculate prices according to distance.
Am I wrong somewhere? Any objections? I like the idea already... : )