No, rustc doesn't currently support caching macro inputs. It doesn't know when it is safe to do so. We may need to wait for wasm proc macros before that can be safely implemented.
The idea of WASM proc-macros is partially this - since WASM doesn't have access to the system API, the only thing it can do is either shuffle around input tokens or create constant new ones, therefore being functionally pure.