Soak the beans overnight in the 8 cups of water. The next morning, peel and finely chop the garlic. A blender or food processor is good for this.
Put the beans with the soaking water in a big stockpot, with another 2 cups of water. Add the whole chipotles, garlic and the epazote, stir, and set the mixture to boil at a fairly high temperature (I have an electric stove, and I use the high setting for this).
Once it's boiled down a little, lower the temperature to medium high or so, and add a bit more water. It should be uncovered and busy boiling for some time, about 2-3 hours or so. Stir with a wooden spoon and watch it, add more water and stir as needed.
As they cook, the chipotles will fill out and grow soft. Break them up with the spoon before they turn into soft red rags--I spoon them out into a small bowl, break them up, remove the fibrous stems, and put them back in. The goal is to get to the point where you can see the shape of the individual beans, and where the beans themselves are tender but not mushy. As they get close to being done, add the salt (I use about 1 teaspoon)—if you add it sooner it slows the cooking somehow. Cook until they feel heavy on the spoon but leave some moisture. There ought to be a sauce, a "bean gravy," I call it. This recipe doubles very well; the cooking time remains the same.
Note: Epazote is a Mexican herb; there is no substitute. Leave it out if you don't have any. If you don't have dried chipotles you can use other dried chiles but the taste will not be the same. Anchos make an interesting substitute.
Western Trails Food · 313 W. Valentine · Glendive, MT 59330
406-377-4284 · www.westerntrailsfood.com · firstname.lastname@example.org