Se estiver devidamente encriptada, é tão seguro como usares o ID como já sugeriste. Descriptar uma password encriptada com SHA-2 é virtualmente impossível... De qualquer forma também acho desnecessário teres lá a pass a não ser que precises mesmo...
Acho que as duas formas não são as mais seguras, como disse é preferível criar um token... É o que eu faço...
Mesmo que não utilizes as passwords nas variáveis sessions, acho muito mau fazeres o que o RuiGomes disse, não encriptar é um erro. Se a base de dados for comprometida perdes dados vitais.
Eu sei que encriptação SHA-256 usando um salt (ou até sem ele) precisa de poder de processamento quase infinito para desencriptar em tempo útil, mas se ele já tem dificuldade a perceber o código as is, com isso tudo ainda ficaria pior.
Em termos de segurança, ter uma sessão com o username não é um erro crasso, mas claro que para websites de média-grande escala é necessário ter outro tipo de cuidados.
Além de que como tinha dito, é uma redundância ter a password armazenada.