For 300 tasks you'd need to ask thousands of questions.  No one is going to do that, and even if they did the results wouldn't be very useful.

For situations like this I'd suggest you stick with the requesters simply assigning an importance factor to each of their requests.  If you have competing users, the software can also have a hidden user-importance factor that weights each requester's own importance.

But if users can already assign weights to their requests, why not simply let them change those weights whenever they want.  Give them tools that they can use to meet their needs, and there won't be a need for scheduled task reviews.

And don't let your system (or the users) confuse "importance" and "urgency".  For instance buying a birthday gift for your spouse might be very important, but if their birthday isn't for another 6 months it isn't urgent.  Similarly "come here and look what this guy across the street is doing" is very urgent (he'll stop doing it soon and you'll miss it), but it really isn't important.

UPDATE:
>That's exactly what already exists. The ranks I was talking about are given by the user, reordering tasks by drag and drop. But imagine that you have 300 of them. You never actually look at them all. We need to help users to do a review of all tasks.

If the requesters can already maintain their own lists, I don't see what the real problem is that you are trying to solve.

If the requester doesn't remember or care about something that they asked for, it really doesn't matter does it?  No one can legitimately complain that you aren't working on something that they felt should be in queue position 300.

Perhaps:

- Any request that hasn't had any activity in the last 6 months (or some other more appropriate period) should generate a mail message reminding the requester that they can increase its priority or retire the request.
(The message would be considered "activity" and reset the clock.)
- Create a special lowest-priority for which these messages never get sent. This could be used for items that were created simply to record minor bugs, annoyances, suggested improvements, etc., which aren't serious enough to spend effort on now, but which should be considered the next time that specific software has major work done to it.