I found a really good article on Exchange 2007 database sizes, maintenance, whitespace etc. here.
In general, Exchange’s footprint is going to be triple your dataset size. That’s the price you pay for their features. Some of the difference is metadata, some of it is consistency and point in time data, and some of it is flat out unnecessary bloat. In any case, I don’t think there’s a way to improve this short of using deduplication on your storage box, and that’s often more expensive than the raw disk it replaces.
Also, the size of your database will have an impact on your licensing- as far as I know, Microsoft charges you to upgrade past a certain DB size.
There might be a problem with your mail storage database. Make sure that the database files are stored properly and there are no conflicting other database software.