One approach:
- At Org level, create an OIR for the sub type that specifies a non-existant lifecycle template. This keeps it from being created anywhere.
- In the Product/Library context where you want to allow it, create another OIR for the sub type that specifies the desired lifecycle template.
- If it makes sense, in the Product/Library, create another OIR for the parent type that specifies a non-existant lifecycle template; this will allow only the desired sub type to be created in the Product/Library.