Adding settings is no problem – but getting the pathing right sure is!
I've already thought about this years ago. One idea was to interact with Pavement Drive Assist, so that AD would manage pathing on a macroscopic scale and PDA would micromanage by keeping the vehicle on the road whenever possible. But that would mean that I'd actually have to replicate the game's pathing algorithm! If there is a road a bit off the path, I'd have to check whether it leads in the same direction as the path or whether it will make a curve away from the path, or even a U-turn. Also, I must check where to leave the road and turn back to the path, considering obstacles like cliffs or big lakes.
Currently, I rely on the game to provide pathing (the game makes use of this algorithm for enemy units like biters and spitters). This is much faster (running C-code) than whatever I could come up with. Autodrive already is somewhat heavy on UPS, so unless I've got struck with a genius idea there is close to no chance that I'll implement your – admittedly reasonable –– suggestion.
However, I've just made a modding interface request for specifiying preferred_tiles in LuaSurface::request_path. If that should ever be implemented (which I doubt the devs will do, as it puts additional load on pathing), it would be quite easy to call the function with a list of suitable tiles. :-)