01 - Bring a pot of salted water to a boil and cook elbow macaroni until al dente according to package instructions. Drain and set aside.
02 - In a medium saucepan, melt 2 tablespoons unsalted butter over medium heat. Whisk in all-purpose flour and cook for 1 minute, stirring constantly.
03 - Gradually whisk in whole milk to the roux, stirring constantly until slightly thickened, about 2 minutes.
04 - Stir in shredded sharp cheddar cheese, salt, and black pepper. Mix until smooth and cheese is fully melted.
05 - Fold the cooked macaroni into the cheese sauce and stir until the pasta is evenly coated. Remove from heat.
06 - Lay out bread slices and spread a thin layer of softened butter on one side of each slice.
07 - Arrange 4 bread slices, buttered side down, on a clean work surface. Top each with 1 slice provolone or mozzarella cheese, a generous scoop of mac and cheese, and a layer of dill pickle slices.
08 - Top each with another bread slice, buttered side up. If desired, sprinkle extra shredded cheddar cheese over the outer surface for a crisp cheesy crust.
09 - Heat a large skillet or griddle over medium heat. Cook sandwiches in batches, pressing gently with a spatula, for 3 to 4 minutes per side until bread is golden brown and cheese has melted.
10 - Transfer sandwiches to a cutting board, rest briefly, slice, and serve warm.