Place dried pinto beans in a large bowl and cover with about double the amount of water. Beans should be fully submerged. Let soak for 4 to 8 hours. Drain and rinse.
Heat a large pot or dutch oven over medium-high heat. Add diced bacon and cook for 5-10 minutes, stirring occasionally, until fat is rendered and bacon is starting to crisp up on the edges.
Add the onions and jalapenos. Cook for about 5 minutes, stirring occasionally, until onions become translucent and begin to soften. Add garlic and cook for 30 seconds, until fragrant.
Add diced tomatoes and chipotle pepper. Cook for 3-5 minutes, stirring occasionally, until the mixture begins to bubble and thicken.
Add soaked pinto beans, chicken stock, oregano, cumin, a generous pinch of sea salt, and bay leaves. Turn up the heat to high, stir to combine and bring to a boil. Reduce heat to simmer, cover and cook until beans are barely tender, about 35-40 minutes.
Uncover the pot, turn the heat up to medium-high and continue cooking for 35-40 minutes, stirring occasionally, until the beans are fully cooked and the liquid has reduced and thickened.
Taste and season with more salt as necessary. Serve with fresh cilantro, jalapenos, crunchy bacon bits and diced onions!
