Bom, antes de tudo será melhor compreender um pouco melhor o conceito:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
É um longo texto, mas está tudo bem detalhado.
Em resposta mais curta: http://stackoverflow.com/a/10636765
Dito isto, os navegadores possuem mecanismos próprios de segurança para evitar que sejam realizadas requisições sobre dominios que não estejam especificamente configurados para tal na header CORS.
Ao utilizar a directiva "*", está a permitir que todos realizem requisições. Mas mesmo que limite apenas sobre certos dominios, um utilizador malicioso ainda assim consegue facilmente "ultrapassar" essa limitação.
Não existe grande impacto a nível da segurança por utilizar o "Access-Control-Allow-Origin", mas a utilizar limite sobre os dominios que utilize especificamente.
No caso de recursos estáticos, como imagens, css, javascript,etc, não existe grande impacto a nível da segurança.
Quanto ao htaccess, pode perfeitamente configurar o mesmo sobre cada pasta de forma individual.
No caso da Apache, as configurações indicadas num htaccess aplicam-se sobre a pasta onde o ficheiro se encontra e todas as superiores.
Caso pretenda alterar o htaccess sobre uma determinada pasta, basta criar o ficheiro na mesma que o anterior será "rejeitado".
Ou seja, é sempre utilizado o htaccess "base" em todas as pastas, exepto se criar o ficheiro dentro dessas pastas (e onde, a partir das mesmas, será então aplicado o novo htaccess).
Vou tentar demonstrar graficamente:
/abc/.htaccess(1)
|
|--- /abc/qwer < aplicado o .htaccess(1)
|--- /abc/sdfg < aplicado o .htaccess(1)
|
|----- /abc/sdfg/pasta2/.htaccess(2)
|------ /abc/sdfg/pasta2/subpasta2 < aplicado o htaccess(2)
|
|--- /abc/sdfg/pasta2/subpasta2/maissubpastas < aplicado o htaccess(2)