One way to do this now would be to edit the node_forum_level_2 template and search for phrase unread_messages
Then into that span insert something like:
<img src="/youricondirectory/{$forum.node_id}
{xen:if '{$forum.hasNew} OR !{$visitor.user_id}', '-new'}
.png">
But for this you need to have an image corresponding to each forumid - so you need 1.png and 1-new.png, 2.png and 2-new.png.
I suppose it could also be done in reverse where you only do the new icons and then apply an alpha affect to the old icons.
I thought about doing this with classes, but it seems like you'd have to do a different subclass based on each forum id as I'm guessing we can't do conditionals in the css as it will probably want to be static so it seems a pretty long way round to create a class for each forum id. I'm new to xenforo though so I'm probably missing lots of other ways to do this that might be cleaner.
P.S. this post is for adding extra node icons
http://xenforo.com/community/threads/extra-node-icons.6686/ though I wanted to actually replace the default icon for many forums to a custom icon.
P.P.S. I suppose using the template conditional here
http://xenforo.com/community/thread...-condition-this_script-index.6664/#post-96138 (thanks!) icons only need to exist for specific forums if that is wrapped in something like <xen:if is="{$forum.node_id} == 8 OR {$forum.node_id} == 2">