Yes, catcher_id is a variable, if that line of code is executed. But what does the variable contain? null, a div element, a select element, an input element...?
// This is not necessarily true
if(drop_list.value == "zed-catcher/11")
{
var catcher_id = document.getElementById('lpm_service_catcher_id');
/* This could be null, a div element, an input element or anything else
* If you do not get the alert, then this entire if clause is not executed
* If you get this alert with the string "null", then there is no such element
* If you get this alert with anything other than the string
* "[object HTMLInputElement]", then you have the wrong element
*/
alert(catcher_id);
}