but the movement bonus applies to the whole province.
hmm? I'm pretty sure that armies march much faster on These main roads than through countryside. There probably is a General boost to Speed in the province but afterall building "roads" in a province does not only mean to build the big ones.

Anyway: could one not mark "desert" as difficult Terrain? Thus adding a movement malus just like in forests, the engine already recognizes desert as destinct Terrain by assigning some Units a Bonus to fighting in deserts. Also Generals do suffer from prolonged "beach stay".