On Service Contracts the "Default Parts Price Book" (SVMXC__Default_Parts_Price_Book__c) is a text field of 255 characters. When using the Standard "Parts Pricing" SFM the SVMX configuration is somehow hacked into showing it as a lookup field allow users to select the pricebook. However, when adding this field to a Custom SFM it shows as text field because that is what it is. You can therefore not configure a lookup filter to filter out certain pricebooks under certain conditions.
Oddly the Service Pricebook is a lookup field which seems completely normal. It gives a strong impression to a major design flaw that indicates that it was accidentally created as a text field while it should be a lookup field. This needs to be correct.
It is strange to have a text field that contains the pricebooks record ID.
What is the underlying problem do you intend to solve with this idea?
create lookup filter on parts pricebook selection
How is the problem being addressed today, if at all?