What you're describing sounds like a Cascading Lookup. There are several existing questions with suggestions for implementing such a thing:
How can we get Cascading Lookup Columns in sharepoint 2010?How can we get Cascading Lookup Columns in sharepoint 2010?
How to implement Cascaded lookup in SP 2010?How to implement Cascaded lookup in SP 2010?
How to make a filtered lookup fieldHow to make a filtered lookup field