Prepare the beans. Rinse and sort the beans, discarding any stones or shriveled beans. You can soak the beans overnight in cold water (cover with several inches of water) OR pour enough boiling water over them to cover by a few inches and soak them for an hour OR skip the pre-soaking step. Soaking will speed up the cooking process. If you soak, discard the soaking liquid after soaking.
Add beans to a large pot with 2 1/2 quarts (10 cups) of water. Add oregano, bay leaves, and sage. Bring the beans to a boil and reduce heat to a simmer. Cook until the beans are soft, but not quite done. The time will vary depending on how large, dry, or old your beans are, and if you have pre-soaked them, from anywhere from 30 minutes to an hour and a half.
While the beans are cooking, sauté onions and peppers in olive oil until soft. Add chili sauce, chili powder, and/or chili purée, cumin, and garlic. Sauté until spices are fragrant.
Fish out and discard the bay leaves, stems of oregano, and sage leaves from the pot of beans. Remove, but reserve, extra cooking liquid until there is about 1/2-inch of liquid above beans.
Add the onion mixture and salt to the pot of beans. Cook another hour or so until thickened. Add reserved liquid if needed.
Add half of the orange juice, and simmer. Adjust chili heat at this point – you may or may not want to add more of your chili paste. Just before serving, add remaining orange juice, lime juice, and vinegar. Salt to taste. Garnish with chopped fresh cilantro.
Serve with corn tortillas, and/or rice, sour cream, and salsa.