yintar,
Уж если глобальная, то глобальная - не надо передавать ее в качестве параметра
<input type="text" name="length" id="length" value="">
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script>
var lenght = 0;
$('document').ready(function() {
  // calculationPriceOnLine(width,priceKvMetr);
  console.log(lenght); //но здесь получаю undefined
   $('#length').on('keyup', function(){//здесь получаю значение и записываю в переменную lenght.
        lenght = $(this).val();
         console.log(lenght); //выводит значение переменной
         calculationPriceOnLine(10,20);
    });
   
     function calculationPriceOnLine(width,priceKvMetr){ //в этой функции и нужна переменная lenght .......
        console.log(lenght ); //но здесь тоже получаю undefined
         if(width > 0 && lenght > 0){
            return width * lenght * priceKvMetr;
        }
    }
 });
</script>
И еще - в описании функции стоят ее внутренние параметры, а при вызове функции в качестве параметров надо задавать определенные на момент вызова переменные или константы