BTW, the Rays locked up Longoria, but the deal isn't worth all that much money right now and he doesn't have a no trade clause until 2018 (when he is making $13.5M which is still reasonable even for a small market team). Who's to say the Rays won't trade him before that?
Actually Mauer is making $23 million (not 20). In fact he is making that 23 million every year from 2011 through 2018. He was an MVP, but even so, that is a BAD contract for a small market team. Yankees, Red Sox, Dodgers, Cubs could make a deal like that (they do every year), and it is no problem. For Minnesota it is a big problem. You will likely see them trade him in a couple of years and agree to pay part of his salary.
I would love to see the Pirates try to extend McCutchen, say in 2014 or 2015. They could increase his pay for his remaining years and tack on a couple of more years. That is how you keep a top player. If he balks, then you might consider trading him near the end of his contract.