Looking at the documentation on Notification at MDN and WHATWG, there does not seem to be a way to request revocation of permission. However, you could emulate your own version of the permission using localStorage to support that missing functionality. Say you have a checkbox that toggles notifications.
<input type="checkbox" onChange="toggleNotificationPermission(this);" />
You can store your remembered permissions under the notification-permission key in local storage, and update the permission state similar to:
function toggleNotificationPermission(input) {
    if (Notification.permission === 'granted') {
        localStorage.setItem('notification-permission', input.checked ? 'granted' : 'denied');
    } else if (Notification.permission === 'denied') {
        localStorage.setItem('notification-permission', 'denied');
        input.checked = false;
    } else if (Notification.permission === 'default') {
        Notification.requestPermission(function(choice) {
            if (choice === 'granted') {
                localStorage.setItem('notification-permission', input.checked ? 'granted' : 'denied');
            } else {
                localStorage.setItem('notification-permission', 'denied');
                input.checked = false;
            }
        });
    }
}
You could retrieve the permission as:
function getNotificationPermission() {
    if (Notification.permission === 'granted') {
        return localStorage.getItem('notification-permission');
    } else {
        return Notification.permission;
    }
}
When you want to display a notification, check your permission:
if (getNotificationPermission() === 'granted') {
    new Notification(/*...*/);
}