RE: Lock fields based on value of another field
Hi partner,
As Omar said, business rule is the most appropriate solution.
I will provide you with detailed steps.
1) Go to Settings > Customizations > Customize the System, open Entites > Contact > Business Rules click New.

2) Click the Condition step, then select field 'ID Status', check all the options which contains the word 'client'. Click Apply.
(For the option set field, we can only manually select all options that contain 'client', it can't set the condition of containing the keyword like a text field.)

3) Add a Lock/Unock step, select field 'First Name', click Apply.

4) Add a Lock/Unock step again, select field ‘Last Name’, click Apply.

5) Select the form for which this business rule applies, click on Scope in the upper right corner and select the form. If you want to apply this business rule to all forms of this Contact, select ‘All Forms’.

6) Click Save and Activate.
For more information on business rules, please refer to this document: https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/create-business-rules-recommendations-apply-logic-form