1.
На десктопе на объект повешено несколько событий, но на мобильниках эти события уже не должны срабатывать.
Все верно. Пишем данные в глобал и при вызове события проверяем размеры.
h = windows.height
w = windows.width
$(window).resize(function() {
h = windows.height;
w = windows.width;
});
2.
Так получилось, что в десктопной и мобильных версиях один объект расположен совершенно в разных местах.
Если вы ищите элемент элемент DOM с корня дерева и он имеет уникальное имя - то без разницы, все дело упирается только в то, сколько вы будете перебирать DOM-элементы. На счет привязки событий, писал в п.1, в зависимости от размера - можете привязать разные события.
3. Если у Вас появится дикое желание разделять не только РАЗМЕРЫ (вы упоминаете десктоп и мобильное устройство, но при этом они могут иметь одинаковые размеры экрана), то можете классифицировать девайс с помощью
matthewhudson.me/projects/device.js