Existem várias soluções de proxy que usam nomes de usuários / senhas (embora sejam soluções comerciais como Bluecoat / Blueshield). Isso geralmente não é feito como parte da configuração do navegador, mas sim quando você tenta se conectar a ele (geralmente é solicitado). O proxy específico deve implementar o SOCKS5 para executar a autenticação.
Para o privoxy, você pode configurar seu servidor para permitir somente conexões via SSH e protegê-lo com nome de usuário e senha. Veja a resposta de John Reese e David Goodwin aqui: link
Eu também encontrei um patch (não comprometido) para o privoxy implment authentication na página do projeto aqui: link e um método para adicionar a autenticação básica passando aqui: link
Quanto à resposta exata à sua pergunta. Você poderia fiter pelo nome do host do seu sistema que está sendo anunciado pelo DynDns (ou qualquer serviço de DNS dinâmico), para que a alteração no IP seja refletida automaticamente no proxy. Ele deve funcionar razoavelmente bem, desde que não haja ataques de envenenamento de DNS contra você.