Drain and rinse the beans. Put them in a large pot and cover with cold water. Add the bay leaf and bring to a boil. Reduce the heat and simmer the beans while you prepare the other ingredients, adding water if needed.
Remove the stems and seeds from the ancho chiles. Place the anchos in a small, heat-proof bowl, pour 3/4 cup boiling water over them and stir so they are covered. Let them soften in the hot water about 30 minutes.
Heat the oil in a large skillet and saute the onion and celery until the celery is soft, 6-8 minutes. Add the garlic, cumin, oregano, and chili powder and saute 1 minute longer. Add the mixture to the beans.
Put the softened ancho chiles and their soaking water in a blender or food processor. Add about 1/3 cup of the chopped tomatoes and the chipotle chile. Puree until smooth. Add the chile mixture to the beans along with the rest of the tomatoes. Continue simmering the beans until tender, 1 hour and 15-30 minutes total. Add salt & pepper to taste. Add the green onions, cilantro and vinegar and cook about 2 minutes. Ladle into bowls and sprinkle feta cheese over top.