What would be interesting would be if some language offered the ability to do thread-local (or thread-heritable) dynamically scoped monkey patching, and closures over monkey patches. So you could make a function that rebinds the implementation of lists, and can return a list that is for example backed by a mmapped file.
Also: what makes Clojure's dynamic binding stand out is you can rebind pretty much anything, not just special variables - if it's implemented as a "var", you can rebind it. That goes for both data and functions.