You'll need to remove the margin: 0 auto from the following styles to left align the page
Code:
#header {
width: 700px;
height: 200px;
margin: 0 auto;
background: url(images/nationalexpress.jpg) no-repeat left bottom;
}
#page {
width: 700px;
margin: 0 auto;
}
As for the column expanding, CSS doesn't behave like tables which is probably what you're expecting.
To achieve the effect you're after you'll probably need to use faux columns. Sure that Paul O'B has a few examples lying around but I don't have any bookmarked.
Failing that, give Google a try for Faux columns, faux backgrounds css or something like that.
Bookmarks