Sim, você pode associar. (Caso contrário, os ícones seriam limitados ao que o Windows Explorer conhece).
Isso é feito no registro.
Navegue e expanda HKEY_CLASSES_ROOT e crie uma chave para sua extensão. Dentro dessa chave, crie o valor padrão com um nome para o tipo de arquivo.
Novamente em HKEY_CLASSES_ROOT, crie uma chave para o tipo de arquivo. Sob a chave do tipo de arquivo, crie uma nova chave "DefaultIcon" e nela crie o valor padrão. Esse valor deve ser um caminho para um arquivo de ícone ou para um exe / dll e um índice de recursos.
Dê uma olhada no registro dos tipos de arquivos conhecidos que já estão lá para ver como isso é feito. (Haverá também outras chaves e valores para cobrir o lançamento do programa correto, COM (modelo de objeto de componente) e outras coisas associadas aos tipos de arquivo, você pode ignorá-los.)