Currently, the best way to achieve this would be to customize the fields. I am running behind on documenting all of the new features for the new 2.5 release, but it does include initial support for adding checkbox fields to the registration.
In future versions, I am expanding this to include radio fields and drop down lists (I know that’s not really your question, but its a preemptive answer to the natural followup question from other readers regarding field types). I am also working on support for managing custom fields via the admin panel rather than programmatically.
So, coming back to your question… You could add a check box custom field, but you then need the ability to manage the users and the email list. That will take some logistical thinking on your part, but the features that are there to help would be that there is a user export feature so that if the process you are using is external (such as ConstantConact, etc.) you can export user data, including the opt-in field and manage it accordingly. WP-Members also has the ability to grab just the non-exported users for each export so you don’t have to export the entire list everytime.
And how to get the custom checkbox field? As I mentioned, I’m a little behind on new feature documentation. The process for 2.3.2 and earlier is outlined here. In 2.5, this is simplified by the fact that there is a toggle in the install file to force a settings update so you don’t have to delete as before. Using the toggle, you can now just deactivate/reactivate. The process for using the toggle is commented in the install file itself.
Also in the install file, you will find some additional comments showing some sample arrays for the use of checkbox fields. This information was not included as of 2.3.2 and therefore isn’t discussed in the post that I referenced above. Essentially, there are two additional fields in the array, one to indicate the checked value, and the other to indicate whether it should be checked by default. You can name the field whatever you need to in order to pull it into any other process for managing your process.
Hope all of this makes some sense and helps get you where you need to be…