It's not a difficult process to maintain your own repo overlay that keeps old packages for longer than the mainline.

One reason they are trimmed is because old version of $package don't build with new version of $library which is a big dependency (eg vte) that is moving forward so keeping the old ones, and maintaining them gets more and more difficult as time moves on. It's not Gentoo forcing the churn, it's the things Gentoo packages that are churning and it becomes visible at the Gentoo layer.

But your own overlay, or just pinning your build can easily solve that (eg, still using PostgreSQL 9)

It's easy to copy things into your own overlay IF you get notice that this version is going away.

Rarely, you might need to keep a dependency around. But no, usually the earlier packages still build just fine for a very long time. In the case of a high-churn package like chromium, there is a reason to be on latest - all the security patches - but when the latest doesn't build, the previous one is already gone (and would have built just fine.)

I’ve made many a trip to the git repo to dig up older versions and copy down the old version ebuilds into my own overlay: https://github.com/gentoo/gentoo