Может ли length быть отрицательным?
У переменной нет никакой длины. По вашему коду однозначно ответить на вопрос нельзя.

Обычно, когда речь идёт про свойство length, подразумевается массив, и в этом случае в большинстве браузеров js не даст записать туда отрицательное значение.

Однако, в общем случае это просто свойство объекта и ничто не мешает написать так:
var myVar = {
  length: -100500
};

P.S. Я параноик и всегда в данном случае пишу <=. Пусть это не имеет практического смысла в данном конкретном контексте, но помогает не забыть про это условие в других случаях, когда отрицательное значение не ожидается, но его появление всё же физически возможно. Мозг проще натренировать на одно правило, чем вспоминать, есть защита при присвоении где-то в другой части кода или нет.
нет, не может и особого смысла писать со знаком "меньше" нет
это же длина. как длина может быть отрицательной?)