VisualARQ plugin has a similar feature. Native Rhino blocks are not dynamic, you would need to create separate blocks for different geometries.
You can set the internal geometry to be ByParent which would then inherit the from the layer, this would only work for a single material (only one parent)