Independentemente do comprimento que você definir para sua coluna varchar, o espaço de armazenamento usado por uma coluna vazia será o mesmo.
Os tipos CHAR e VARCHAR
Isso aborda apenas o espaço usado pela coluna varchar e não considera o espaço total de armazenamento usado pela linha, seus índices, chaves primárias e outras colunas.
Como o ypercube menciona em seu comentário, há considerações adicionais para o armazenamento de linhas como um todo quando pelo menos uma coluna anulável está presente.
Estrutura da linha física do Innodb
A parte de comprimento variável do cabeçalho do registro contém um vetor de bits para indicar colunas NULL. Se houver entre 9 e 15 colunas que podem ser NULL, o vetor de bit usa dois bytes.)
...
A parte de comprimento variável do cabeçalho também contém os comprimentos das colunas de comprimento variável. Cada comprimento ocupa um ou dois bytes, dependendo do comprimento máximo da coluna. Se todas as colunas no índice NÃO forem nulas e tiverem um comprimento fixo, o cabeçalho do registro não terá parte de comprimento variável
E sim, o espaço de armazenamento usado muda de acordo com o tipo que você escolhe, é fixo ou variável, o agrupamento e outros fatores, como o mecanismo.
O MySQL faz recomendações sobre como otimizar o armazenamento de dados aqui: Otimizando o Tamanho dos Dados
Atualizar
Uma consideração adicional com varchar e isso é memória. É importante no MySQL limitar o tamanho de uma coluna de comprimento variável o máximo possível. Mesmo que a coluna seja variável e o espaço de armazenamento usado seja variável, o MySQL alocará memória em partes fixas para armazenar valores. Por exemplo, varchar (200) usará mais memória que varchar (5). Este não é um problema de espaço de armazenamento, mas ainda há algo a considerar ao definir suas colunas.