I'm in my second year of graduate school in computer science (at UNC Chapel Hill), and was recently admitted to the PhD program. Here's my two cents:
o) MS degrees usually take 2 years, and PhDs take roughly 3 years more after the MS, though PhDs vary more in the amount of time they take.
o) If you're optimizing for money, the best route to take is getting an MS. Others on this board so far agree with this.
o) You can probably get a MS without doing any research (i.e., by teaching like FrankK), though teaching and research are both highly valuable skills/experiences to have.
o) Computer science as a field has an identity crisis. It's part mathematics, psychology, engineering, and art. Depending on what area of research within computer science you're interested in, the research in that area will be different. Some research involves developing prototypes to demonstrate some functionality; some involves proving theorems; others involve conducting empirical or psychological experiments.
o) Maybe I'm biased, but if you're able to get into graduate school for at least a MS, I'd recommend it. If you find that you like research enough to get your PhD, then more power to you.
o) Getting into graduate school isn't easy. (I won't even get into how many rejection letters I got...) You can seriously increase your chances by getting to know professors at your university, and getting involved with them on their research projects. Find a professor that is amiable and researching something you find interesting, and then ask if they have any problems you could solve. (Professors love to give work out!) Make sure that you are involved in not just solving the problem, but also demonstrating to the professor that you are a competant thinker. (This is important for letters of recommendation that you'll have to get.) The ideal situation is where you're also writing papers underneath them, going to conferences to present your work, etc. Graduate schools *LOVE* this.
Ok, I'm done. I could write forever, so I'll stop now.