Si está garantizado que tiene cadenas de entre 1 y 50 caracteres, entonces la misma consulta ejecutada en cadenas de hasta X de longitud se ejecutará más rápido usando varchar(X) frente a varchar(MAX). Además, no puede crear un índice en un campo varchar (MAX).
Una vez que sus filas tienen valores superiores a 8000 caracteres de longitud, entonces hay consideraciones de rendimiento adicionales con las que lidiar (las filas se tratan básicamente como TEXTO en lugar de varchar (n)). Aunque esto no es muy relevante como comparación, ya que no hay una opción varchar(N) para cadenas de más de 8000.