Yes, elm-install already does this. Unfortunately, as it just clones a git repo, it ends up doing a significant amount of work just to decide if a new version has become available since the last cached one. I wonder though if it is doing this as efficiently as possible?
In Java land we have the Maven repositories, where artifacts are packages as binaries (.jar files), and the repo meta data is held separately in a small xml file. It means checks for updates only requires downloading that small xml file. You can also limit how frequently updates are checked for.
There are also package managers such as Nexus, that are easy to set up as proxies on the central repository. Once you have Nexus running on you local development network and configured nicely, it all goes much faster. In fact, I also have an apt-proxy running in my development network as I am frequently creating new Debian virtual machines.
It would likely be possible to write a plugin for Nexus that supports Elm - it started out as a Maven package manager but has now evolved to cover other packaging formats like npm.
Anyway, I'm sure Evan has will work things out nicely for Elm 0.19, and probably not much point in figuring out the direction of third party tooling to fill any gaps until that is out.