how can i figure out why we need to restart the exchange services almost every morning?!
In general the place to start is log files, starting with the event logs specifically the Application log in regards to Exchange.
If I had to guess at the problem I'd check on your exchange database size. One symptom of hitting the database size limit is the database going offline/being dismounted.
By default Exchange 2K3 has a size limit of 18GB. SP2 raises that limit to 75GB for Standard Edition. Note that after installing SP2 the limit does not automatically raise to 75GB the limit is still set to 18GB you have to increase it.
If size is the problem you should see an entry in the Application event log. Also make sure that transaction logs are not filling up the disk.