Line a plate with paper towels. On medium heat, cook the bacon, turning once, in a large skillet until the fat is rendered, but not too crisp, about 10 minutes. Remove the bacon with a slotted spatula and place on the plate. When cool enough to handle, cut the cooked bacon into 2-inch sized pieces.
Remove all but 2 tablespoons of the bacon fat from the skillet, reserving the rest for another use. Add the onion to the skillet and on medium heat, while stirring occasinally, cook for 5 minutes or until fragrant and softened. Stir in the garlic and cook for 30 seconds.
Add to the skillet the cooked bacon, chipotle chiles, adobo, chili powder, chocolate, allspice, coffee, and apple-cider vinegar. Simmer on low for 2 hours, stirring occasionally. If it starts to get too dry, stir in a bit of water.
After 2 hours, place the bacon jam into a food processor, and pulse until coarsely chopped. Taste and adjust seasoings, adding salt to taste. Store refrigerated for 1 week.