Been having this discussion a lot, as well, especially as I help plan out people’s “roadmaps” to promotion. Listened to the podcast with Joel and Will and ended up buying The Elegant System of Management. It’s got some helpful perspective on the topic.
I think it depends on what you’re looking for. I define seniors as developers who are experienced and flexible enough to jump from project to project and still succeed. This means having a certain amount of grit and persistence to learn, admit when you don’t know something and seek the help of others (even if they are more “junior” than you).
I also see them as people who organize other team members at a higher level to accomplish organizational goals, like some sort of Practice or Standardizations group. They should be developers who are actively serving as mentors who teach, give praise and give constructive feedback to others.