Sim. Eu tenho servido exatamente o mesmo código / arquivos de vários AppPools por anos; funciona bem.
Mas todas as instâncias lerão web.config de forma idêntica, uma vez que a funcionalidade padrão da Microsoft não foi escrita para fazer o que você está tentando fazer. Portanto, você terá que implementar sua própria solução personalizada para determinar em qual instância o código está sendo executado e escolher as variáveis de configuração apropriadas com base nisso. Você pode armazenar seus dados de configuração em uma seção de configuração personalizada dentro do web.config (definido em "configSections") ou ter um arquivo .config separado em outro lugar.
O que geralmente faço é mudar o comportamento do código com base no caminho para o aplicativo IIS em execução (ou seja, o caminho). Por exemplo. Se o site estiver sendo exibido em "/ example1", escolho um conjunto de dados de configuração e, se ele é exibido em "/ example2", ele recebe outro conjunto. (Observe que você também desejará manipular a configuração da URL do servidor de desenvolvimento quando estiver executando o site por meio do VisualStudio.)