The key information is for each direction around each road, does it contain a road or not?
I would use four boolean instance variables on your road sprite: up, down, left, and right. They will be true or false -if there is a road at that position it will be true, otherwise false. You can use 4 overlap at offset events to check each position, and set the variable.
Once you have that information for each sprite, you'll need to set the correct animation frame based on the instance variables.
The most straightforward way would be to have a frame for each variation of the curved road or T-intersection, but I'm sure there can be a way to reduce the frames required by rotating the image and using mirror when appropriate.