Complicated views with dates
For the second view , I think it's possible using agregation : you will have to select two times the field dates , the fist one will be displayed as year and second one month , then use group by the first date field. If it doesn't work then in the fields settings you will have to separate the date as one field for year , and one field for month , then you will have to group by the year field in the views.

Here is a great tutorial from nodeone.se of how to use agregation in drupal 7  :