contacts>----Client_Company-----<Invoices?----?venues (>--- means many to one, ?--- means type of relationship unknown)
Make Venues and Client_Company two occurrences of the same table. This may require adding some fields to one of the two tables so that it can serve for both and you may want to add a "type" or "category" field with check boxes so that you can identify a given record as "Customer", "Venue" or both.
Steps for creating a secon occurrence of an existing table:
In Manage | Database | relationships, make a new table occurrence of YourTable by clicking it and then clicking the duplicate button (2 green plus signs). You can double click the new occurrence box to get a dialog to appear where you can rename the new occurrence box.
We have not duplicated a table. Instead, this is a new reference to the same table already present in your database.
Invoices to Venue is M:1.
I'll try this and see if I have any additional issues, but this sounds good to me. I do have a Category and a subcategory already. One that states the entry's type (recording studio, venue, transportation) and the other to designate the entry's status as far as billing/marketing goes (client, potential client, utility, etc).
If I do a lookup value on the Venue field on the Invoice layer and start the lookup at Companies::Category "Venues", this will make the value list of just venues right? That way I don't get a list of 5000+ company entries.
What you describe in the last paragraph is called a conditional value list and there is more than one option for setting that up:
Forum Tutorial: Custom Value List?
Knowledgebase article: http://help.filemaker.com/app/answers/detail/a_id/5833/kw/conditional%20value%20list