Why not get the EF-S 17-85IS and use it with the 70-300IS to give you coverage from 17 to 300mm with just two reasonably small and light lenses.
If you insist on one lens you're (a) going to be restricted in the focal length range you can cover and (b) sacrifice some degree of image quality. If you go for quality (Canon 28-300), you'll suffer in terms of cost ($2500?) and weight.
The Tamron 28-300VC might be your best compromise, but 28mm isn't very wide on a 40D. It's pretty much a "normal" lens focal length for APS-C sensor cameras.
The EF-S 18-55IS and 55-250IS lenses also make a good set, with decent coverage. I have a few comments on them here -
http://www.bobatkins.com/photography/digital/canon_eos_digital_rebel_xsi_review.html