How can I efficiently represent inheritance down a tree?
I'd look at your indexed view the other way around:

Have table O for your objects, storing A, B and C, and a level field. Then create indexed views for A, B and C based on queries off O. Perhaps use a hierarchyid field to know the full tree for each record. 

There's plenty more you could do, but this could be a useful start.