Monospaced fonts can provide what you're looking for, a good example of which is Consolas.
Consolas is the standard font on Visual Studio 2010 and 2012, and Eclipse Indigo (the standard font on previous versions of both these tools being Courier New 10).
Consolas has been described (here) as "...a sans-serif font with the same rounded appeal [as Lucida Console], but nevertheless retains the traditional "code" feel, with monospaced characters and a "boxy" look."
It holds all the characteristics of a programming font; namely being sans-serif, fixed-width, slashed zero, and sufficient differentiation between the characters 1, l, |, and I.
Consolas is clear, concise, and (for the same font-size) takes up less room than Courier New.
Its only short-coming, however, is that it was built specifically for ClearType, and is a commercial font. It ships with all major new Microsoft releases though, and is therefore most suited for programming on newer Windows machines (you can get it for Mac if you install Microsoft Office). As an alternative to Consolas on Mac or Linux, you could try Monaco, Ubuntu Mono, DejaVu Sans Mono or Anonymous Pro.
If you'd like more options, check these articles:
Hivelogic - Top 10 Programming Fonts
Slant - What are the best programming fonts
UPDATE:
Here's a graphical comparison of Consolas against the other fonts mentioned in this answer:
For a full list of the comparison, see Samples of monospaced typefaces and some more here - 42 of the Best Monospaced Programming Fonts, courtesy of comment from @Basil Bourque.