Em primeiro lugar, de quantos usuários estamos falando?
Como sugerido por Arcath, o Squid é o padrão de fator atualmente para proxies de cache de software livre. Vários pacotes add-on permitem a filtragem de conteúdo e vários programas foram feitos para fazer relatórios sofisticados contra logs do Squid.
Um bom proxy de cache leve é Polipo . Não é a coisa mais chique do mundo, mas é pequena, rápida e deve funcionar bem o suficiente para um punhado de usuários.
Em relação à sua segunda pergunta, as funções do LCA do Squid podem ser usadas para armazenar apenas determinados sites. Não sei por que você se daria ao trabalho de configurar um proxy, mas não quer que os clientes aproveitem totalmente isso.