Is it a good idea to repair a squeaky floor from above?
I think your contractor is right on the money, it's way easier to approach the problem from above than below, and trying to fix it from below would be very difficult to do properly. Floors generally creak because the floor material isn't strongly connected to the joists, to when you step the joists rub against the subflooring , and the subflooring segments rub against each other. Also, older flooring tends to weaken and bow, adding to the creaking. The right way to attack this is to pull up the old subfloor and put down new subfloor using screws into the joists. This will make a strong floor that is less likely to bow in the future. 

If you tried to attack this from below you'd have to pull your perfectly good ceiling down, attempt to fix the creaking (which probably wouldn't work anyway), then put up a new ceiling. You'd have to pull down your light fixtures, repaint the entire room, etc. So you'd spend a lot of money to replace a ceiling that doesn't need fixing, spending more money, and be unlikely to fix the creaking. 

Having your floor up gives you an opportunity to do a few things:


Inspect the joists: have them take a good look at the condition and rectify any problems. Don't skimp on this, money spent now prevents a vast amount of money spent later. 
Electrical work: While you have your floor up is an ideal time to replace old wiring, add new outlets or switches, and put new lighting in the floor below. Want spotlights in the room below? Do it while the floor is up. 

Add insulation and/or soundproofing: It's much easier to lay insulation and soundproofing down into a floor cavity rather than up into a ceiling cavity and you may as well while the space is exposed. Just make sure that whatever materials you have installed have a good fire rating! 



I definitely agree with your contractor on this one, don't pull down your ceiling to fix your floor, just fix your floor!