You cannot do what you want exactly as you want to do it. However, if you
make a different light type subclass from some main class for each context
that needs different attributes, and then you use OIRs and access control
rules such that only your context-allowed type can be created new in each
context, then you can get what you want. You can even use different color
icons to highlight the part types/contexts as you look at them in a
multi-level BOM.
Of course, this is approach is problematic if you "move" items between
contexts frequently, and therefore would have to "change type" - something
that is not available out of the box.
If you do not plan to move items between contexts, and there is a very low
chance of creating a part or document in the wrong context with the wrong
type, then use this idea.
Al