Just a little pet peeve on saying to only put them together if you're breeding them...
Please, when people are new to bettas, be careful what you say. Unless they've read up on betta breeding, they might think "Oh - cool, babies; sure I'll buy two and keep them together in my tank as a breeding pair then." I would suggest not even including the breeding aspect, since most people buying bettas are buying VTs, who are hard to find quality homes for, and do not understand the complex breeding ritual of the species. Let them get used to betta ownership, let them gain more knowledge, before even suggesting breeding as a possibility. I am only picking on this because I know someone who ended up with both fish dying because the LFS said not to mix them "unless its for breeding." She took it as she could put them together so long as they would be a pair and then she'd not only have 2 bettas in one tank, but babies on top of it. Needless to say, they fought horribly, maimed each other, and passed away from their injuries.
So, ire to RRD, I think the shrimp are a good idea, but as said, buy cheap ones fist ;-) Also, in a 5 gallon, you should not keep two females together as they'll usually fight because its too little space, and they're one on one. Most people reccomend keeping 3-5 in a ten gallon.