Preheat the oven to 400°F (200°C). Line a baking sheet with parchment paper if desired.
Slice the jalapenos in half lengthwise and remove the seeds for less heat, if preferred. Place them cut side down on the baking sheet.
Roast the jalapenos in the preheated oven for about 10 minutes, until they are soft and slightly charred. Remove from the oven and let cool.
In a mixing bowl, combine the softened cream cheese, shredded cheddar cheese, and crumbled bacon (if using). Season with salt and pepper to taste. Mix well.
Once the roasted jalapenos are cool enough to handle, chop them into small pieces and fold them into the cheese mixture.
Heat a skillet or griddle over medium heat. Spread butter on one side of each slice of bread.
On the unbuttered side of two slices, spread a generous amount of the jalapeno cheese mixture. Top with another slice of bread, buttered side up, to create a sandwich.
Place the sandwiches in the skillet and cook for about 3-4 minutes on each side, or until golden brown and the cheese is melted.
Remove from heat and allow to cool for a minute before slicing. Serve hot.