Why not institute something like DNS for lookups. If your local host
doesn't have a match, then bump the request to another host. Granted DNS is
more complicated since it allows for redirection. I'm not in favor of some
hosts being SOA for certain records. The data set is small enough to expect
any given host to contain all records. However, it's conceivable that some
hosts might want to restrict the number of records in the local cache.
Mainly to reduce the size of the local dataset. One might want to keep only
'frequently' accessed records or those 'newer' than a given date.
But now's the time to factor in mirroring.