Is creating your own local CRAN-like repository an option? If so, you could then do something like:
options(repos = c(CRAN = "file:///path/to/my/repository"))
and renv (and R) would use this local repository for package installations.
It sort of sounds like you really just want to set .libPaths() to point to some pre-curated library path on a project-specific basis? If so, it seems like you could do that without relying on renv.
It sounds like renv::hydrate() may do what you want here -- its job is to copy packages from a source library path into the project library, basically "forking" the state of that library for use in a particular project. In your case, you would want:
renv::hydrate(sources = <your library path(s)>)
See ?renv::hydrate for more details.