If you use civicrm-webform, you can add civigroups to your form. You can choose 'user select' to have the user select one or more groups. In the form component, you can choose 'static' to show only a few of all possible groups.
So say you have two newsletter groups and two agegroups. You use the above method to only show the newsletter groups to existing contacts.
Will that remove the the contact from the agegroups if s/he fills out the form ?