Creating a dynamic contextual filter list
I have personally done the contextual filter part of it and can confirm it works very well and is easy to setup.

Simply add a contextual filter for "Content: Created year" and "Content: Created month" and then set the Path of the view to "/articles". I use basic validation for the contextual filters and have also setup something for no results so the users aren't presented with a blank page.

I'm not quite sure what you're asking for with the other part of the question.

I think the easiest way of going about this is to create a separate Views block and add a field that contains the post date. You can then use a custom Date format to display the post dates the way you want them. "F, Y" should do it.

Turn on Aggregation and make sure it's grouping the results together and you should be good to go. You can now use the rewrite as link to accomplish what you need. You may need to add a couple of other hidden fields to get all the parameters you need.

UPDATE: I realized there is a problem here. Views aggregation works on the raw SQL data only which is what I think your original problem was. This means that group by date doesn't actually work as you mentioned earlier. There are a couple solutions I came across http://drupal.org/node/388140, http://drupal.org/project/views_date_format_sql, and http://groups.drupal.org/node/40356.