I'd say Cena has 5 years left in him. He'll probably retire around 40 unless injuries prevent him from going that long. 5 years puts him at 41 which is probably a fair guess if he's injury free.
Maybe. I have to hope, for his sake, and the product's, that they see they have a good thing in folks like Bryan, The Shield, NXT, etc. and at least give him a diminished role at some point in the next few years. He could just wrestle the Rumble, Mania, Summerslam, and Survivor Series, and leave the smaller PPVs for the younger guys to get over, without anything being particularly different. Hell, if anything, they could probably partially turn around the IWC's opinion on him if they saved him for the big marquee matches where he actually gives a shit, tries, and puts on a good performance.
Edit: I'm glad The Shield has been together for almost a full year, and likely will be together until at least Mania, if the storyline they're doing right now is booked long-term.
Now they just need to start getting, y'know, promo time, well-built feuds, etc.