It is not currently possible to link one custom field to another or make one appear based on the selection made in a different custom field.
You also can't determine whether a custom field is required based on the chosen selection of another custom field.
The way it is typically handled is by defining/Nesting the Request Types and adding custom fields to the specific Request Types that make sense.
e.g. You could have two different Request Types like this:
- IT Request -> Mobile Phone -> New <- with "Preferred Phone Vendor" custom field associated
- IT Request -> Mobile Phone -> Upgrade <- with "Current Mobile Phone Number" and "Current Phone Vendor" custom fields associated