I suggest to use an object for the values, because you could collect all values in one object without polluting the global scope to much.
var foo = document.getElementById("something"),
    values = {};
foo.addEventListener('change', function(e) {
    values.value = this[this.selectedIndex].text;
    values.id    = this[this.selectedIndex].value;
}, false);
alert(values.value);
For a more dynamic version, i suggets to use a closure over values.
var foo = document.getElementById("something"),
    values = {};
foo.addEventListener('change', function (object) {
    return function(e) {
        object.value = this[this.selectedIndex].text;
        object.id    = this[this.selectedIndex].value;
    };
}(values), false);
alert(values.value);