Have you just been looking passively, or have companies told you that you're unqualified for postings? I went through a similar situation at work, and decided to interview for a few positions. The "senior" position listings were definitely willing to speak with me, interview me, most of the time. A few said they wanted somebody with the experience, but by and large, they were willing to talk.
The great companies, i.e. the ones you seem to want to work for, will actually appreciate this attitude. Desire for challenge is probably one of the more significant factors startups look for in early stages -- they want you to overextend yourself and learn from it. So it can be a plus, as long as you frame your responses properly (not, "I'm a hobbyist looking to get a little better," but, "I'm a professional who wants to become a guru."
And lots of times the folks writing the job descriptions don't know the programming industry -- they just write what got them their last hire in that position.
I think you should pick out a few jobs that seem ideal to you, and try to interview for them. You'll learn a lot about yourself in the process.
As for me, I stuck in my current job, because I found that it was easier to speak with my supervisor about finding different work areas to keep me challenged, as opposed to changing jobs. That's always another option you should look at as well.