Can I use register_settings and unregister_setting once the settings page has loaded?

Better to avoid such a thing. The settings API has two “faces”, one the UI, and the other is handling the form submission. The form submission is handled on a different URL than the UI (/wp-admin/options.php) and therefor your “user action” depended code will not run and the handling of storing the setting in the DB might fail.

You need to register properly all fields, and then you can use CSS or JS to show/hide the relevant UI.