Spread the bottom half of the loaf with the pesto. Top with the turkey, cheese, and onion. Sandwich with the top half of the loaf and cut into 4 pieces. Dividing evenly, brush the outside of the sandwiches with 1 tablespoon of the oil.
Heat a grill pan over medium heat and cook the sandwiches, pressing down occasionally, until the bread is crisp and the cheese has melted, 5 to 6 minutes per side.
Meanwhile, in a large bowl, whisk together the vinegar, the remaining 2 tablespoons of oil, and ¼ teaspoon each salt and pepper. Add the lettuce and avocado and toss to combine. Serve with the sandwiches.