It was introduced by CGA cards, and on those it was not merely the default and could not be changed; it was hardwired.
Yes, you are right in this one. I do not know which of these numbering schemes was the first, any of them might predate ansi or vt100 terminals or cga cards as far as I know.
(ZX spectrum seems to use 0=black, 1=blue, 2=red, 3=magenta, 4=green if this emulator is right.)
As an added bonus, you could only get more than four of them on the screen at once in text mode (although there were tricks available to make text mode appear to be a low-res graphics mode).
(Update: I was wrong here, see jonadab's reply)
I think this is wrong. There is a low-resolution color mode of size 160x100 pixels (lines are doubled), 16 colors. That mode, however, is not supported by the bios, and the resoultion is very small (that's easy to say now, sitting at an 1280x1024 tft screen, mind you), so I guess only few programs used it.
Update 2015-12-01: see also https://en.wikipedia.org/wiki/List_of_color_palettes.