I don't have a service in my run level that starts the login prompt, so I was wondering what does.
By 'login shell' you mean the login prompt you get when you hook your server up to a keyboard and monitor? And the same login shells on the other virtual terminals accessed with CtrlAltF2 and so on?
On RHEL 4 and 5, they are started in
/etc/inittab, look for the lines that say mingetty. The inittab man page will explain what the lines mean but it goes in the format like
id:runlevels:action:process. You can comment them out or add new ones and run
telinit q to have it re-read it your inittab.
On RHEL 6, they are started in
/etc/init/tty.conf with the ttys defined in
/etc/sysconfig/init. If you look at
/etc/inittab it actually gives an short explanation but Red Hat has an explanation on their website too. RHEL 6 switched to upstart for RHEL 6 which is why it is different (don't be confused by the fact upstart is on the Ubuntu website, it was started by Ubuntu but other distros use it too).
Edit: init is the first process started by our OS, it is what spawns all of your services. It has a PID of 1. When it starts it reads /etc/inittab and if you look at the lines that say reference rc with some number, that is what is starting your services at your desired run level. It likewise makes sure mingetty is running at your desired levels on your desired devices. You can read more on the the init section of wikipedia's article on how linux boots and this article on from power to bash.