Para responder à pergunta 1, duas respostas:
1) não importa. Os arquivos são mesclados em uma única configuração na memória na inicialização. Coloque a configuração onde faz mais sentido para você, o administrador do servidor. Para citar o bot do IRC em #httpd:
Todos os arquivos de configuração são criados iguais. Não importa qual dos arquivos de configuração você colocar a diretiva. O que importa é se você colocá-lo na seção apropriada (ou, por exemplo). Coloque diretivas em algum lugar que faça sentido para você e onde você possa encontrá-las da próxima vez.
2) Provavelmente coloque-o no host virtual, (ou seja, em 000-default, dentro do bloco, porque é provavelmente onde faz mais sentido, e será aplicado ao escopo onde você quer.
Pergunta 2: altere 'AllowOverride All' para 'AllowOverride None'. Além disso, nunca, nunca, defina 'AllowOverride All' como você tem lá no seu exemplo. Isso diz "ativar arquivos .htaccess para o sistema de arquivos inteiro , que claramente não é o que você quer, por razões de segurança e desempenho. Então, mesmo quando você está usando arquivos .htaccess para algo, ele ainda deve ser definido como 'None'. Lembre-se, consulte o diretório real do sistema de arquivos '/', não o diretório raiz do documento da Web.
Pergunta 3: Depois de definir 'AllowOverride None', os arquivos .htaccess serão completamente ignorados. Quaisquer diretivas devem ser movidas para a configuração principal. No entanto, não estou totalmente claro o que você está perguntando na pergunta 3. Você pode elaborar?