I have developed a "grab and go" system that works for me.
Yarn for "future projects" gets tucked away in a drawer or box or bag on the shelf (depending on my current state of re-organization). Yarn from past projects also lives with the future yarn, because you never know when you might be able to incorporate that little bit of "xyz" color.
Yarn for "next up" projects goes in the giant knitting basket in the living room.
"Current projects" and their yarn go in small bags (size depends on the size of the project) with yarn at the bottom, on-needle project on top. These bags live in or next to the giant knitting basket. When I'm going out and want to take a project, I just grab my project of choice, which can then ride safely in my totebag, backpack, or whatever. Extra skeins for large current projects live in the giant basket until I need them.
Needles live free-range in one side of the giant basket, too. I'm about to change that, though, and make them a home, a needle case (which will then live in the basket, but in a little more contained area).
Patterns live in the file cabinet, but I have also thought about putting them in sleeves in a binder. I sort them by "current projects," "future projects," and others by category (cardigans, scarves, etc). Knitting books and mags live on the bookshelf, all in one place so they're easy to find.
Until I answered this topic, I didn't realize how organized my knitting life was! I guess that's why knitting is such a haven -- everything else in the house is pretty chaotic.