I found out the contactId for my manually deleted user was still in the Contact_ Table. I deleted him from the table and can now perform the reindex. I can now see all the user & user groups after reindexing.
From LR:
rule #1 with using Liferay - The database is not yours, you should never be in it and you should never be issuing sql against it.
The Liferay API is the only way to modify data. Period.
The Liferay API supports user deletion. Had you used the Liferay API, the users would have been deleted and your indexes, etc., would have been fine.
Okay, I know that's going to come across as a little aggressive or something, but it's important. The whole Liferay system depends upon it's data, so any time you tweak the data manually it potentially breaks the system. If you dig through the actual process that the Liferay API does for a user deletion, you'd see that the "delete from user_ where ..." is just a small part.
I always tell people new to Liferay to just forget that the database exists. It's definitely their database, not yours, and it's not to be messed with.