Лично я думаю, что чтение одного или двух байтов для столбца переменной длины не окажет большого влияния. Тот факт, что эта длина будет использоваться для анализа количества символов, читаемых в строке, более наказуемо (две операции, одна для количества и одна для данных).
Можно подумать, что один дополнительный байт, например, в таблице с одним миллионом записей, занимает много ненужного дискового пространства, но с активированной функцией сжатия это на самом деле не касается ни хранилища (IO), ни обработки (CPU) ).
Кстати:
255 = 11111111 (один байт)
256 = 100000000 (два байта)
Единственная рекомендация - использовать varchar для столбцов, содержащих более 30 символов, в противном случае лучше всего использовать столбец CHAR фиксированной длины, потому что издержки на чтение длины плюс данные - это много, сравнивая количество данных с читать, когда мало символов. (http://www.ibm.com/developerworks/data/library/techarticle/dm-0404mcarthur/)