<a href="http://www.petri.co.il/problems_with_exchange_2003_installed_on_domain_controllers.htm">This article</a> explains why you should not install exchange on a domain controller. This article specifies exchange 2003 and you did not say what version you want to install, however this is true no matter what version of exchange you are installing.
=====================
You should not use a DC for anything other than domain services, DNS & DHCP. File/print and other applications should be run on separate server for reliability and security purposes. Running other applications on the DC puts your entire organization at risk. It increases the time to recover if something happens to the DC and users lose access to other critical services.
<a href="http://www.microsoft.com/exchange/default.mspx">Exchange 2007</a> is the newest version of Exchange and that is what you should implement. It has been improved over Exchange 2003 and will provide longer service than a product that is 5 years old.
=====================
Although Exchange 2007 does offer improvements over Exchange 2003, most of the world is still using Exchange 2003, and Exchange 2003 is generally considered to be a more reliable product by most Exchange experts.
Having said that, it is possible to run Exchange 2003 on a Windows 2003 domain controller. In fact, that's what Microsoft does with Small Business Server. Even though it is possible to run Exchange 2003 on a domain controller, I would advise against doing so. Not only are there security issues that come into play, but memory also becomes an issue for an Exchange Server that is hosting larger numbers of mailboxes. Reboots also take a lot longer than they normally would if Exchange is running on a DC.
To answer your question, can you run Exchange on a DC? Yes. Should you? No, unless you are in an extremely small organization with extreme budget constraints.
If you are implementing a new system, why would you implement an older product that will be reaching end of life when the next version is released? I understand that many people are still using Exchange 2003 – part of the reason for that is that Exchange 2007 requires 64-bit platforms. We have implemented Exchange 2007 in a distributed environment for over 2000 users. Stability has not been a problem in the 3+ months that it has been in use. For a smaller configuration, I do echo the option of using the Small Business Server that already has Exchange. SBS 2008 is going to be released on November 12, 2008. This product supports a maximum of 75 users.