I have a list of requirements I am looking to fill -- Can CiviCRM do these?
CiviCRM can do all the things you described above, with two caveats:


Some of the requests you're making around primary contact and one account managing multiple members work in CiviCRM with any CMS - but if your CMS isn't Drupal, you'll end up with some clunky public-facing data entry.  Stack Exchange is littered with people asking how to do forms like you're describing in WordPress and are largely disappointed.  If you're starting fresh, definitely use CiviCRM atop Drupal, and use Webform-CiviCRM integration to handle your public-facing forms.
Ditto the calendar - a WordPress or Joomla person can tell me if I'm wrong, but if you want a calendar in a calendar view (instead of, e.g., an events listing) I think you need Drupal.
Finally - you're right, this is definitely a complicated setup, no matter what CRM you choose!  I would dissuade most people new to CiviCRM from attempting something this complex on their first go-round.  Consider hiring someone, or be prepared for a challenge!


Fortunately, several of the items you're requesting (grouping into multiple groups, searching/contacting by groups, file uploads, processing membership dues, filtering for/contacting unpaid members) are all pretty out-of-the-box.  In fact, all of this is doable out-of-the-box (except the calendar, which requires a Drupal module), but the devil's in the details - specifically in the public-facing form details.