I like "high level" goals that can be prioritized ("User signup flow" is the most important thing we're working on this week, after that, it's probably "..."); the details for the high level stories can be done just-in-time.
My perfect PM feature for this is some sort of LRU expiry of stories. If someone hasn't opened a story (no views) or modified it within the last few months, move it to an archive. After a certain period of time in the archive, delete it.
Organizations and dev teams have a memory - if something is important, it'll be in the collective cache of the team. If something is relatively unimportant, it's waste (in the lean sense) to write it down until you have to (shortly before you need to prioritize and use it).
Bugs are the same thing. A bug is usually either worth fixing immediately (aka "next") or "never". Many bug trackers get clogged with stuff like "on IE7, the user dialog is 5 px to the right". It's either worth fixing right now or "never". Delete it, and if another user complains and it's recent enough that we remember the other story, then it bumps up the priority. But if it happens long after we all forgot it happened, it's still not important enough to fix.
This would go a long way to keeping the most important things at the top and avoiding the hell of "Did we have a story for that or something like 6 months ago?" associated searching. Both Pivotal and Trello have this sort of rosy picture of the world that folks will only be entering in "this is the most important thing we must do it this week" sort of stuff, which is unfortunately not how most project teams work. A more holistic PM tool would take into account user behavior and have a solution for this. Heck, something like HackerNews' front page algorithm would be pretty interesting applied to PM.