In mobile browsers, hiding an option element requires JavaScript.
Mobile browsers do not allow you to hide a option element using the hidden attribute. There are therefore two solutions in JavaScript to work around this problem.
The first involves removing the elements, filtering and restoring.
'use strict';
const select = document.querySelector('#select');
const originalSelectHTML = select.innerHTML; // For restoring
select.querySelectorAll('option').forEach(option => {
   if(option.value === 'B') {
       option.remove();
   }
});
The second is to insert options into other elements and then work with CSS on their parents.
'use strict';
const select = document.querySelector('#select');
select.querySelectorAll('option').forEach(option => {
   let parent =  document.createElement('div'); 
   if(option.value === 'B') {
       option.parentNode.insertBefore(parent, option);
       parent.appendChild(option);
   }
});
Then with CSS:
#select div {
    display: none !important;
}