I don’t think there’s an existing “goodie” at Dreamhost to do exactly what you want to do.
Restricting access to certain parts of the site could be accomplished by using a CMS (content management system) like Joomla(available as a one-click install at DH), PHPNuke, PostNuke, or one of the other jillion that are out there. You can have certain areas of the site that require “membership” - ie. people have to sign up. Since you’re trying to restrict your members to your actual union membership, you would probably have to set your preferences so that an admin would have to manually approve each and every new member.
With the Dreamhost announcement list service, you can import a spreadsheet of email addresses (although they would still need to opt-in to your list). Once you added them to the list, you can have the announcement list send them a message telling them “click on this link if you want to be subscribed.” You could go through this manual process once a week with the email addresses you gather from your site membership.
It’s not the easiest solution, but I don’t think you’re going to have an automated solution for everything you want.