I recommend Scrum (http://bugzilla/bugzilla-3.0.3/show_bug.cgi?id=251245). The work having already been separated into reasonable chunks, at the beginning of each three-week sprint, we again ask the decision makers, "What are the most important results that we can deliver during the next few weeks?" We effectively wipe out the project list once every three weeks! It allows us to turn very quickly to deal with new priorities.
We also have technical support issues to deal with. We attempt to manage them during sprint planning by planning time to resolve them, considering our past history. On occasion, the issues mean that some priorities can't be handled during the sprint, but we usually still get most of our important work done.
Rating each item in a long list of critical modifications is not what you really want, anyway. What you really want is a periodic answer to the question above. It is almost always easier to answer that one question than it is to prioritize a long modification list. The question naturally forces decision makers to think in well-defined, manageable chunks, and it forces teams to estimate well and to deliver results regularly. Scrum puts ceremony around the question.