
You probably have your tile data storred into an array (A) like this, and you need to draw it in this order (B), then you will draw some grass and road iso tiles (C), and then it will seem boring, so you will add height (D), and after a few years of toil no one will appreciate =), you'll end up having something similar to this:

Having the tile and the sides as three different sprites (E) might help you reduce CPU drain, if you calculate which parts of the screen you need to redraw each game loop, instead of redrawing the whole screen.
Ofcourse I have never done it, and the math is way beyond me, so take this post as graphical representation of your problem, not the solution, if it helps anything.