Not sure how easy the following is to implement but I think the best way to do this would be to store all the TM's in the giant mall and rank them in groups by [generally very high] prices.
They could be ranked by power (<50 being the cheapest and 150+ being the most expensive) with non-damaging moves like 'rest' being dealt appropriate prices too.
If need be, then restrict trading TMs completely but I definitely think we should be able to access them and agree with the posts highlighting the main reasons on p1.