If using dried beans, pick over them to remove any stones or debris. Put them in a bowl and add enough cold water to cover them by at least 2 inches. Soak for at least 8 hours or overnight.
Drain well. Give them a rinse with cold water and drain once again.
In a medium pan or Dutch oven over medium high heat, warm the olive oil. Add the onion, carrot, celery and garlic cloves and cook stirring frequently for about 4-5 minutes or until the onion is translucent. Add the tequila and cook for a few minutes or until almost all the tequila has evaporated.
Add the beans, stock, diced green chiles, cumin and oregano and bring to a boil.
If using dried beans, reduce the heat to medium low and simmer for about 1 to 1-1/2 hours or until the beans are tender and cooked through.
If using canned beans, reduce the heat to low and simmer for 30 minutes.
Add 1 tablespoon of chopped cilantro, lime juice and season with salt and pepper to taste. Remove from the heat and using an immersion blender blend the soup until almost all the beans are pureed. (I like to leave a few chunky bits so the soup is not a complete puree) or if using a blender or food processor, puree half of the soup and return it to the pot. Simmer for another 5 minutes over low heat and serve with the chipotle crema, tortilla chips and avocado slices. Garnish with chopped cilantro, if desired.