Hello Chris (@cwilmsloyalist),
I agree that ability to group nodes and comment them would be VERY useful. But this request (in my opinion) is more for option 1) than 2).
Maybe it depends on how complex subcompositions you want to save for another use. From my experience current behavior cleans up some very simple reusable subcompositions. But it's very inconvenient in some more complex situations. I build huge sets of nodes which take many options and produce some live image (for example drawing by mouse or tablet). In that case I have to filter almost ALL incoming ports for unneeded events (for options like thickness, opacity, color which change sometimes) because of ONE incoming port (mouse position which changes more than 100 times/sec). In that case there is hundreds of "fake" events generated due to current behavior of incoming ports. Performance is VERY poor.
So I think there is some third option you did not mentioned: reuse of node which takes params and produces results based on variously changing params :)
Yes, I agree that changing to event-through-one behavior universally is good idea. In that case you can achieve event-through-all behavior more easily than in opposite direction (I'm curious if I wrote that in English :)
But, of course, ability to choose a behavior of ports for every subcomposition would be great.