Yes, and no. You cannot set this directly in a question. However, there are at least two workarounds to achieve this result.
Workaround 1
You can user a "normal" question, and then - on the next page - check if an answer was given (value('AB01') > 0), if the question remained unanswered (code -9) or if the residual option was checked (code -1). Store a 1, 2, or 3 into an internal variable via put() to later discriminate these options in the data set.
Then use dropValue('AB01')
(not yet in the manual) to clear the original response from the data set. Make sure that no back button is allowed, and that the contents of the internal variable is not overwritten, if the page is reloaded (only run the above code if getRoute() returns 'next'). The latter may occur when the page with the "recoding" is displayed again (press F5 or don't answer a required question on that page).
Workaround 2
You can write (or copy from the questionnaire) the HTML code for a selection. The follow the manual Use Custom Form Elements to store the answers into an internal variable.
Now the trick: Slightly change the HTML code (search for value="1"
etc.), so that all valid options return a 1 (instead of 1, 2, 3, 4....) and the invalid option returns a 3 (for example).
This is a very smooth solution, however it requires some HTML. And you still have to make sure that the back button is disabled (i.e., not explicitly enabled in the Compose Questionnaire -> Settings).