1) тут просто добавляем или убавляем z-index у мяча в зависости от нажатой кнопки.
2) не совсем понял
3) полагаю как-то так (если отставание не нужно, уберите setTimeout
<div>Мяч</div>
<script>
var div = document.querySelector('div');
window.addEventListener("mousemove", e=>setTimeout(()=>div.style.cssText = "position:absolute; top:"+e.clientY+"px; left:"+e.clientX+"px",200));
</script>