In a medium bowl, toss the parsley with the chopped tarragon and lemon zest. Rub the herbs all over the halibut; cover and refrigerate for 2 hours.
In a large saucepan, cover the potatoes with water and bring to a boil. Salt generously and simmer over moderately high heat until tender, about 10 minutes. Drain and let cool to room temperature.
Light a grill. In a large nonstick skillet, heat the 1/4 cup of olive oil. Add the garlic and shallots and cook over moderately high heat until golden, about 2 minutes. Add the potatoes and cook over low heat, smashing them gently with a spatula, until they start to break apart. Continue cooking, stirring a few times, until the potatoes are browned and crisp, about 5 minutes total. Season with salt and pepper.
In a medium skillet, melt the butter. Add the whole tarragon leaves and cook over moderate heat until the tarragon is fragrant, about 2 minutes. Add the tomatoes and cook over low heat, stirring occasionally, until the tomatoes burst and the butter is browned, about 7 minutes. Season with salt and pepper.
Drizzle the halibut with olive oil and season with salt and pepper. Grill the fillets over moderately high heat until nicely charred and just cooked, about 3 minutes per side. Transfer the fish to plates and spoon the tomato butter on top. Serve immediately with the smashed potatoes.