There's no way Trout declines that, but 20 years makes no sense for anybody. The owners and media would crucify the Angels, and they'd take a pretty massive PR hit for offering that much to Trout after spending so much on Pujols and Hamilton.
Besides, the whole point of extending a guy is to pay him significantly less than you'd have to if he made it to free agency.
They should offer him a 210M/10 extension right now. Something like:
01: 1
02: 10
03: 14
04: 20
05: 25
06: 25
07: 25
08: 30
09: 30
10: 30
Double his pre-arb salary for 2014 (1M), give him some decent guarantees for his arb years (10, 14, 20) and then a couple of decent raises after that. He hits FA at 32, similar age to Pujols and Cano, and cashes out again.