As a general rule with snakes, they should be kept solitairy unless breeding. Snakes are opportunistic feeders, and if hungry enough, can even see cagemates as potential food. I have heard far too many horror stories about cannibalization in all manner of species. I've even heard of people keeping two snakes together for years with no problems, and then suddenly one day, down the hatch. Its just safer not to.
typically make great pets. They are tolerant of handling, generally do not bite, and are of a good size that even around children you don't really have to worry about them too much. Unfortunately, you'll only be feeding them pinkies for about 6 months of their life. As adults, they need larger food items. Adult mice or even small rats depending on the size of the snake. Ball pythons also fit into the same boat, but usually need even larger food items. My adults are eating medium rats right now.
I personally like the checkered garter snake. Pretty pattern, typically calm disposition, even in wild ones that I've found. Generally aren't picky about what they eat, from amphibians, fish, earthworms, to rodents if you choose. Most ribbon snakes are the same way, but have a little more flakey temperment and are more squirmy. Though they're certainly not often biters unless they have no other choice. If you just stick 'ribbon snake care' into Google, it should give you many different care sheets.
What to keep though is such a matter of personal preference.