Hi Justin - without knowing your full context, I'll add my bit:
We created an ALN domain for budget categories (values) and the departments responsible for those categories (description).
Then I created a table domain that references the ALN domain and searches for those departments by description.
If ASSET.EQ5 has the department number, then the table domain would look like this:
domainid='CATEGORY' and description like '%' || (select :eq5 from asset where assetnum = :assetnum) || '%'
The table domain looks up the ALN domain called category, and searches for one or more departments written in the description field. :eq5 allows you to search on non-persistent data (data that hasn't been saved to the database yet), and :assetnum looks at the current asset numbers. You apply the table domain to the lookup of the field for which you want a filtered list.
You could probably do something similar with that one ALN with a Conditional UI, but I couldn't tell you which scales better.