I've been wanting to solve this problem and have been meaning to learn dynamic object creation so I combined both endeavors. Created two patches, [dynthrow~ name] and [dyncatch~ name] which mimic the API of [throw~] and [catch~] but allows one throw~ to send to several catch~es (not the other way around).
Ex:
[dynthrow~ test]
[dyncatch~ test] [dyncatch~ test]
This example will create two sets of throw~ and catch~. One will be assigned the name test.1 and the other test.2. A third dyncatch~ would create a test.3 and so on.
If you remove one of the dyncatch~es it will not remove it's corresponding catch~ (couldn't figure it out). It's a little annoying because PD will start sending errors to the console, but if you create another dyncatch~ it will assign it to that available throw~.
It doesn't matter whether your create the dynthrow~ before or after it's corresponding dyncatch~.
Requires PD-Extended and I have only tested this with version 0.40.3
Give it a whirl, let me know if it works out.
http://www.pdpatchrepo.info/hurleur/dyncatch~.zip