How to create a multiple-record custom field set for a Membership?
We ended up going with option c): create each choir as its own contact, then create custom relationships between the choirs and the organization they're a part of. This in addition to making the choirs themselves easily searchable, this also allows us to create separate relationships between conductors and their individual choirs (since each choir in an organization might have a different conductor).