Olá! Minha opinião:
CHAR vs. VARCHAR:
CHAR(5) ocupa sempre 5 caracteres, mesmo que você armazene menos. Pode desperdiçar espaço se os dados forem curtos.
VARCHAR(100) ocupa apenas o espaço necessário para os dados + um pequeno overhead. Para nomes, o VARCHAR é geralmente melhor, pois pode ser mais econômico.
Uso de DECIMAL para percentual:
Usar DECIMAL(5,2) para armazenar percentuais é uma boa prática. O primeiro número (5) representa o total de dígitos, e o segundo (2) representa os decimais. Assim, você pode armazenar valores de 0,00 a 99,99, que é adequado para percentuais.
CONSTRAINT CK_PERCENTUAL_COMISSAO: A constraint que você propôs funciona corretamente. Ela garante que o percentual de comissão não seja negativo, o que é importante para manter a integridade dos dados.