Hi @EmilyS :
Q1: is there a way to lock this down to only their manager and perhaps one other delegate?
Please try this solution:
Set
ChangeApproverScreen-GalleryChangeApprover's OnSelelct property to:
If(ThisItem.Mail=Office365Users.Manager(User().Email).Mail || ThisItem.Mail in ["mail1@xx.com","mail2@xx.com"],
Set(_selectedApprover, ThisItem);
Set(_selectedApproverPhoto, Office365Users.UserPhoto(ThisItem.Id));
Back(),Notify("Invalid approver"))

In this way, the user can only choose his manager or designated user as the approver.
Q2: Also not overly keen on the fact that the database for it is an excel file on OneDrive as users could access the file and see the leave balance and requests of other employees.
If you use Excel as a data source, as long as the user has access to this file. Then he can get all the data in the file.
For this, I suggest you use Dataverse table instead of excel table. (You only need to set the user's permission level to user, then he can only access the records he created)
I think these links will help you a lot:
Security concepts in Microsoft Dataverse
Configure user security to resources in an environment
Best Regards,
Bof