Users seems to have a hard time picking the right document template when the "New" list contains more then 50 items. As one of lists on the web contains a SPChoiceField it should be possible to limit the number of items based on the value of the SPChoiceField by using the SPContentType.Hidden property.
Edit: I have access to an event handler that will be triggered each time the above SPChoiceField is changing value, so I guess it should be possible to change the visibility flag on each content type in the library? I noted the answers that recommends a JQuery approach, alas we have no scripting development capabilities in-house, so the prototype can't based on JQuery