Usually these games will use sprite scaling, like rather than pasting the whole image, it will scale it down depending on distance. For walls, well there's actually someone (Cliff) making a 2.5D game like doom, and there are some wolfenstein style engine snippets too.
The walls tend to be treated as slices, so the sprite is still being scaled, but drawn one vertical line at a time.
Roads are similar, but the computers that ran Outrun and those other 2.5D racers were simply not capable of showing real texturing. So the roads would tend to be drawn in scanlines, these horizontal lines would be made from different images, usually bit-shifted for speed, as a lot of older machines had no blitter chips. This would allow the road to have quite smooth corners, white lines at the sides, white and red bits etc, all without using very much actual graphical data at all. In fact a lot of those games could get away with no actual graphics at all, the road could be constructed with pure code, setting the screen data directly. Roads in terms of todays hardware though, well I would just make a repeating top down road image and repeat that, scaling and offsetting each scanline to suit the road corners.
My favorite racers like that were Vroom and the Lotus games - much more fun than boring old Outrun.

Health, Ammo, and bacon and eggs!
