Can I dinamically hide and show fields based on action?

Can I dinamically hide and show fields based on action?

I have the following situation:
1) An employee fills up a Leave request.
2) The direct manager gets a notification email, he opens the record and he has a checkbox or button that gives an initial approval.
3) After the direct manager does this action the leave request is sent for approval to the HR.

Is there any way that I can make the checkbox/the button visible only after the Leave request was saved?

Or even better, is there any way that I can create a double layer approval process?

Thank you.