“Mais ou menos”. Quando se usa PKCS#11, se não me engano, é possível passar a senha via código.
Entretanto, o grande problema com dispositivos que suportam a CryptoAPI (que é a API que é encapsulada pelo CAPICOM) é que a parte de entrada de senha é responsabilidade do driver do dispositivo. Se usar CAPICOM, não sei se é possível passar alguns parâmetros mágicos (que são dependentes para cada driver - alguns permitem e outros não permitem passar a senha via código) que a CryptoAPI deixa passar.
Outra coisa horrível da CryptoAPI é quanto tempo dura a tal senha digitada. Pode ser que ela valha por toda a sessão ou pode ser que ela valha apenas para algumas assinaturas. Eu nunca soube direito como é que se faz para solicitar novamente a senha, caso seja preciso.