The reason the first code doesn't work is that, when you assign Kilo to form1.kilo.value, the value of the form input is *copied*, and put into the Kilo variable. The Kilo variable is now completely separate from the form input. You can set Kilo to whatever you want, and the form input will no longer change.
This is called "copied by value," since the value of the first variable (form1.kilo.value) was copied into the second variable (Kilo).
What you were expecting is called "copy by reference", where the second variable is actually the *same thing* as the first variable. If Kilo was a *reference* to form1.kilo.value, that code would work, because assigning to Kilo would be the same as assigning to form1.kilo.value.
Unfortunately, in JavaScript, there's no way to copy a simple thing like a number or a string by reference. However, *objects* in JavaScript are always copied by reference. An object is anything with sub-variables, which are called "properties." For instance, form1 is an object, and one if its properties is kilo, which you can access via "form1.kilo". form1.kilo is also an object, which has the property "value", which you can access via "form1.kilo.value". However, form1.kilo.value is nothing more than a string, which contains the value of the form input that form1.kilo corresponds to.
You could do this:
var Kilo = form1.kilo
Kilo.value = ...;
And that would work fine. Why? Because form1.kilo, being an object, is copied by reference, so Kilo is now just another name for the same object. Therefore, it also has the value property, and when you assign to it, it's just like assigning to form1.kilo.value.