Preheat grill to high (450°F to 500°F). Brush cut sides of tomato halves with 1 tablespoon of the oil. Place tomatoes cut side down on oiled grates; grill, uncovered, until charred, 4 to 5 minutes. Carefully flip with a spatula. Grill until charred and tomato juices bubble, about 4 minutes. Transfer to a blender; add basil, vinegar, 2 tablespoons of the oil, 1/4 teaspoon of the salt, and 1/4 teaspoon of the pepper. Remove center piece of blender lid to allow steam to escape; secure lid on blender and place a clean towel over opening to prevent splatters. Process until smooth, about 30 seconds. Set aside.
Brush fillets, corn, and zucchini with remaining 2 tablespoons oil. Sprinkle fillets with 1/2 teaspoon of the salt and 1/4 teaspoon of the pepper. Place fillets, corn, and zucchini on oiled grates over high heat. Grill fillets, uncovered, until fish flakes easily, 10 to 12 minutes, turning once. Grill corn, uncovered, until charred, 10 to 12 minutes, turning occasionally. Grill zucchini, uncovered, until charred, about 3 minutes per side. Remove fillets, corn, and zucchini from grill. Sprinkle corn and zucchini with remaining 1/4 teaspoon salt and 1/2 teaspoon pepper.
Spoon 1/4 cup tomato sauce on each of 4 serving plates. Top each plate with 1 fillet, 1/2 corn ear, and 1/2 zucchini. Garnish with additional basil.