How to limit the display of a field on the front end, based on a Form API state
For option #1 you would have to create a custom validation. 

For option #2 which is the better solution you would have to load the fields via AJAX.