You can definitely pin down the specific versions of all your dependencies per environment. And, you can for sure build one environment on top of another, you just have to activate them all (or include them in your project if you take a project based approach)
I saw that you can layer environments when you activate, is it possible to have an env build on a another one/require another one? I'm thinking we'd have our standard company env which would have common utilities such as DBT or Gum installed but then we could easily layer over that with project specific dependencies.