Prior to IBM modifying the trees and maps did not void warranty. It might create support issues but....
Actually, depending on you version, you need to go into the 837 type tree and uncomment the code related to NPI qualifier codes. It's always been inthe trees, just commented out.
If you want to fail validation, create an 997 acknowledgment indicating the desired issue, you should be able to update the type tree accordingly. Changing the type tree and redeployig should resolve the issue.
FYI, not sure what you ultimatly want to do but not getting a provider NPI is not neccessarily grounds for invalidating an 837. For example billing and pay_to providers may be the same as the service level provider. The NPI only needs to be present in one of several locations. Which location depends on a number of conditions. So, depending on what you really wanted to do with you rules, you could end up being non-compliant by rejecting a file/transaction/claim because of a missing NPI vaalue.