Every season near the trade deadline, we see teams that are out of it trading expensive players and/or free agents-to-be, typically for younger players or prospects. For example, Matt Garza, set to become a free agent after the season, was traded to the Rangers for a few prospects.
It made sense for the Cubs to trade Garza, because he wasn't under contract any further than this season, and thus doesn't have much value to them.
Compare Garza to someone like Mike Trout, who is likely the most valuable property in baseball, given his skill and inexpensive cost over the next several years. There's no way the Angels would trade him, because he'll be the cost-controlled centerpiece of the team for years to come.
However, with the Angels out of it this year, what if they wanted to trade Trout to a contender (say the Pirates), but only for the remainder of this season? That is, they'd get several top prospects now, and would have an agreement with the Pirates that they'd trade him back in the offseason (for something pretty worthless, say for a journeyman minor leaguer).
The Pirates get Trout for the stretch run and are happy to give up a few prospects. Trout doesn't have much value to the Angels this year, but he has a ton of value for next year. So they get a few prospects for him, in exchange for the part of his career which has very little value to them.
So in effect, the Pirates are renting or borrowing him for the remainder of 2013.
Why don't trades like this happen? Are there any rules prohibiting trades like this?