I think you can do this using CiviCRM Profiles. Ish.
Create a profile (Administer » Customise Data and Screens » Profiles)
Open the profile's Advanced Settings and look for "Add new contacts to a group" and select the new mailing group you want to invite people into.
Save the profile then add any fields you want the user to be able to see/edit.
Now you have a form that users can use to add themselves into your database and onto your new list, you just need to provide people with a special link in your email. Read on.
In the profiles page, identify the ID of the new profile, which will be a number. I'm going to pretend mine is 123 for this example.
Draft a mailing. Add a link with whatever text you want and craft a URL like this (Drupal example, enjoy adjusting for WP/joomla at your leisure):
Send yourself a test mailing and open the link in a not-logged in browser ( e.g. use a "Private Browsing" or "Incogneto" tab. You should see a form and if you submit that form you should be added to your new group.
Yes but I want a one-click solution!
profile form that automatically submitted the form as soon as the page loads.
(EDIT: corrected the magic link above - it was previously taking you to just a view, not an edit form.)