Custom Metadata Types now support relationships, so we can have a reference to an object and even references to field definitions. Is there a way to reference the individual parts of compound fields, for instance FirstName and LastName on the Contact object? It doesn't appear to be possible, but wanted to see if anyone has found anything contradictory before I stick with plain old text fields instead.
We don't yet support this. FieldDefinition only includes fields as defined on the object, not individual subfields.
We are thinking about (but haven't yet ranked in our priority list) also allowing relationships to EntityParticle. EntityParticle would include any field or subfield on the object that is supported in a SOQL select clause.