You haven't floated the road div which could be a problem. The way I'd structure it is by having 2 containers - div#content-main, aside#sidebar. Float them left and right and place the content container divs inside. That should stop the road div being affected by the sidebar.
From what you've said, you want to have your sidebar stretch the length of the main content area?
Using padding-bottom will only make the sidebar stretch a bit further.. you can't keep changing the padding each time your content div gets bigger/smaller. One fix is to use :before and set it to 100% height when positioned absolute. I've done a tutorial on this on my site which explains it in more depth - repeating background in sidebar (sorry mods if linking that is against the rules..hopefully it's ok).