Create a road along large terrain
Create a small section of road.



Add a curve to define the path the road will follow.



Back on the road section, add an array modifier, a curve modifier and a shrikwrap modifier. You set the array to fit the length of the curve. Then it follows the curve and the shrinkwrap sticks it to the terrain surface.



Giving a final result -



The curve can then be hidden. Or you can apply the modifiers and join the road mesh to the terrain mesh so they are one. Applying separate materials to each section of mesh.