Thad,
I actually don't see how using internal properties would go against Wikidata policy. There is the requirement of notability, "
- It fulfills some structural need, for example: it is needed to make statements made in other items more useful." [1]
I might be wrong, but I would consider creating a new item to describe a subclass, fulfilling a structural need.
Modelling classes and subclasses this way, also makes writing federated queries where the WDQS is used in the SERVICE operator easier. I only need to consider one wikidata property to bridge Wikidata with external sources, and deal with child and parent classes in Wikidata.
Cheers,
Andra