What you describe is called a conditional value list. The basic approach is to set up a relationship that matches only to the records from which you want to list values for your value list, but there are a number of other options--some of which do not require a relationship.
Here is a file with multiple working examples that each come with detailed documentation on how they work and how they were set up. The second file has other options for selecting a value from a list.
I recommend reading on the basic and "hardwired" conditional value list examples.
Thank you very much for the help. Because it involves scripting, it might be a bit too advanced for me but I'll give it my best try.
There is very little scripting if any in the conditional value list examples.