SolrResourceLoader keeps a reference to the CoreDescriptor
It would seem preferable & possible to only store the properties (versus the CoreDescriptor) in the SolrResourceLoader; this is the only piece needed for evaluation.
IMHO, the CoreDescriptor giving potential access to everything (through the CoreContainer), it should not be shared/stored outside of the SolrCore without careful impact consideration.
users cannot specify a variable inside solr.xml
You could do a second evaluation pass to expand the property values (if they are property expressions) created for the CoreContainer and for each CoreDescriptor.
If you were though, you'd need to keep the property expression map & the property value map separated.