a) It would be easy for the IOC to change the rules allowing this kind of cross-national team to represent one without citizenship and to do so without infringing upon the intent of the rule (to stop country-hopping).
Do you mean for all the Olympic disciplines? To change the rules only for pairs/dance figure skating wouldn't be fair. There are other olympic team sports like tennis double, badminton double, relays, football, hockey, volleyball, basketball etc, where the rules are as strict as for figure skating. It's not allowed for a hockey player without Canadian citizenship to play for Canada. I believe there are lots of athletes that couldn't go to the Olympics on similar grounds as Tran. But Olympics as it is now is a competition between nations. The athletes know the rules.
b) Yu Na Kim is Korean, but training in Canada with a Canadian coach and choreographer. Anyone think she's less Korean because of it? Or how about Dai? His choreographer is Italian. He did some training in France. Hell, the music he skated to was a French composition in a profoundly American mode. Take a gander at the Detroit school: Canadian (Shae-Lynn Bourne), Russian (Krylova), Italian (Camerlengo, Scali), and American (Swallow) coaching teams from the USA (Hubbells), Canada (W/P), France (P/B) and Australian (O'Brien/Merriman). What, should they all represent Canitalrusafralia?
All athletes, not just figure skaters, train where they find the best conditions. Skiers where there are snow/mountains, other athletes seek a warm climate, better faciilities or whatever. And it is allowed for all of them to have "foreign" coaches at the Olympics. The world is small today and I am sure many people feel like they have two or more homelands. In the audience we often see flags that are divided to cheer for different nations/athletes.