We'd like to implement a service so that users can join and leave distribution groups (DGs) on their own. Can we use Exchange Server to do so?

Microsoft shipped a Web application called Automatic Distribution List Management (AutoDL) with the Microsoft Exchange 2000 Server Resource Kit (a slightly updated version is available at http://www.microsoft.com/exchange/downloads/2000/autodl.asp). This application can do what you're asking, but be aware that AutoDL was shipped as a proof-of-concept tool rather than a production-quality solution, and Microsoft doesn't support it for production use. Quest Software's Quest SelectDL offers the functionality you're looking for and might be the easiest way to get what you want. Another alternative is to let users join or leave individual DGs by modifying their memberships themselves. The best way to implement this solution is to use Microsoft Active Directory Service Interfaces (ADSI) to write a set of scripts, then link the scripts to Web pages that users can access. Doing so lets you give users direct access to their data, which your scripts can retrieve or update. You probably don't want random users adding themselves to just any DG, though, so this solution won't work if you need more generalized capabilities.