Views: How to display a grouped taxonomy list with node count?
It has been a while since I've done this, but I recall doing it with Views and setting the Taxonomy Term as the argument and using the Glossary option.

Alternatively, there are several snippets for doing this type of thing, as I recall. You can find a few of them here:


Show a list(x) of taxonomy terms with node counts
Drupal API - taxonomy_get_tree (or for D7)


In both cases, check the comments for various implementations or tweaks to functionality.