It is possible to keep players a long time. I've had several players for 5+ seasons that played at a high level. My longest is in his 9th season, my best players is in his 8th and has over 300 goals.
You just have to get young fast trainers and if they play well, keep their ratings up and they should stay good for a long time.