Here is how the Request Time Off page of the portal can look if you decide to add the reason code option. Before adding this option, please make sure you are complying with all HR laws in your area.
In order to add this functionality to the portal, you will need to first create a custom combo box to list all of your reason codes.
You will then need to create a ud field on the HR Resource Schedule and choose the combo box for the reason codes as the Control to Use as shown below.
Once this is added, go to Admin > Portal Setting > Request Time-Off > and fill in the settings shown below with first your combo box name and then the ud field on the HR Resource Schedule.
Once the setting are filled out, go to Admin > Portal Settings > and click the refresh synonyms button.
Once this has been completed, log out of the portal and log back in. The next time someone submits a time off request, they will need to select a reason code before they can submit it.