Если вы планируете сделать это, я бы определенно НЕ использовал VirtualPathProvider. Причина в том, что поиск пути дорогой. Чем больше у вас путей, тем больше времени уходит на их поиск.
Вместо этого я бы указал пути напрямую. Вы теряете аспект соглашения, но вы получаете производительность.