I tried something exactly like that. A Custom Record with dates and approvers (original and substitute), editable in a Suitelet, that saves the data in the Employee Record. An approval Workflow that checks if the date fields are populated in the Employee when setting Next Approver. A scheduled script that updates transaction approvers based on the custom dates.
In the end, we didn't use this approach because of feature creep (they started talking about more than one substitute approver based on amounts, departments, org level and position, etc.) So we just let the Supervisor of the original approver be able to approve on his/her behalf.