1. Нельзя, это часть интерфейса браузера.
2. Попап выводится в тот момент, когда вы из своего кода вызываете
Geolocation.getCurrentPosition() или
Geolocation.watchPosition(), если данная страница еще не получила разрешение/отказ.
3. В вышеупомянутые методы вы передаете два коллбека, на успех и на ошибку. Определить, какую кнопку юзер нажал можно только косвенно исходя из результата.
Дело в том, что спецификация определяет только API, доступное программисту из JS, а как это выглядит со стороны пользователя -- личные фантазии браузерописателей. Где-то попап, где-то галочки в настройках, где-то надо с бубном сплясать. Поэтому никаких гарантий про кнопки дать нельзя.
4. Если navigator.geolocation является falsy, значит у пользователя не поддерживается геолокация (например, старый браузер или еще что-то).
В общем-то вариант только один: честно и прозрачно объяснить пользователю, зачем вашей странице нужна геолокация, и уметь работать без нее.