I would suggest taking a look at other 3 column CSS fluid layouts, there are plenty of examples. Honestly, they are a pain in the ass, but doable. I always advise against them, they take way too much effort to really control, but that is just my opinion.
The 2 biggest problems you are having;
1) I don't believe you can rely on absolute positioning on any of the 3 columns (#main, #secondary), they should all be floats. The footer is sitting where it is because it is hitting the bottom of your only float (#primary), the other 2 elements won't clear because absolute positioning pulls them out of natural flow.
2) Also, elements that have a width of 100% and padding will actually be greater than 100%. So you have to style the internal elements with the padding instead, an easy way is to put an extra div inside the 100% container with the padding on the extra div.
Hehe, search for some 3 column fluid CSS layout examples. What you have up currently isn't easily fixable and most likely will require a complete rework of at least the main column divs, there is a lot of (extra/unneeded markup) which makes it really rough to troubleshoot and provide an easy fix.
Now back to pulling dead skin off myself, from my nice sunburn. ;)