Cook mushrooms in 1 tablespoon oil in a 12-inch heavy skillet over moderately high heat, stirring occasionally, until softened, about 5 minutes. Add broth and simmer until mushrooms are tender, about 5 minutes.
Transfer mushrooms with a slotted spoon to a plate and keep warm, covered. Boil liquid in skillet until reduced to about 1/3 cup. Transfer to a bowl and cool. Whisk in remaining oil, remaining vinaigrette ingredients, and pepper to taste.
Bring water to a boil in a large saucepan. Add half of spinach and cook, covered, until leaves are wilted, 1 to 2 minutes. Stir in remaining spinach and cook, covered, until tender, about 2 minutes more. Drain well in a colander, pressing on spinach with a large spoon. Return spinach to pan and stir in butter and salt and pepper to taste. Keep warm, covered.
Pat halibut dry and season with salt and pepper.
Heat oil in a 12-inch heavy skillet over moderately high heat until hot but not smoking, then cook fish until golden, about 3 to 4 minutes on each side.
Arrange halibut, spinach, and mushrooms on 4 large plates or bowls. Spoon vinaigrette over each serving.