Você pode ter alguma sorte com a funcionalidade "Priorização de sub-rede" no servidor DNS da Microsoft. Se isso ajudará ou não, dependerá de como suas sub-redes serão tratadas e de como seus servidores geograficamente "locais" serão tratados. Esse recurso é habilitado por padrão no Windows Server 2003 e 2008.
Eu recomendaria a leitura desse recurso. Dê uma olhada no link sob o cabeçalho "Priorização de sub-rede".
A funcionalidade "view" no BIND provavelmente faria o que você quer, mas você está falando sobre a implementação de uma infraestrutura DNS paralela e muita configuração.
Se você tem o controle do aplicativo baseado na web, você pode fazer algo off-the-wall, como inserir um pouco de Javascript para "detectar" a localização do usuário e redirecioná-lo no lado do cliente. É um pouco complicado, mas pode fazer o que você precisa.