TL;DR: DejaVu Sans Mono
The fuller story:
Different features are important, depending on your intended use. If you're after something that will just produce columns or line up where you want, pick any font you like the look of.
If, on the other hand, it's important to be able to distinguish individual characters unambiguously, you need to compare certain character glyphs together. For the following sets, I've listed how the fonts that I've got on my system compare in order of good to bad; there are more mono fonts out there, but this will give you an idea.
[I've discounted Courier New and OCR-A because they are basically typewriter fonts.]
0O
(Zero and upper case "O")
- Consolas and DejaVu Sans Mono have shapes inside the Zero to aid identification
- Lucida Console and OCR-B make Zero slightly taller
- Lucida Sans Typewriter has very little difference
1lI
(One, lower case "L" and upper case "I")
- Lucida Console, Lucida Sans Typewriter, OCR-B and DejaVu Sans Mono have different serifs
- Consolas only differ in angle for the top serif on the One and lower case "L"
2Z
(Two and upper case "Z")
- All installed have good differentiation
5S
(Five and upper case "S")
- All installed have good differentiation
6b
(Six and lower case "B")
- All installed have good differentiation
8B
(Eight and upper case "B")
- All installed have good differentiation
`'‘’′
(Backtick, ASCII apostrophe, open quote, close quote and prime)
- Consolas, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono: all different
- OCR-B: open and close quotes are the same
You can do this sort of analysis on any mono font you find and are considering using, but based on consistency, I'd be looking at DejaVu Sans Mono for public use. Personally, I use Consolas for my coding, but that's only because I haven't got around to installing the DejaVu fonts on all my computers.