I empathize with the situation. I agree that he should be let go. Your staff needs to know that you will follow up with your expectations, and it will give them faith in you, that you will not allow one self-important person to infringe on everyone else's free time by covering for his absences and lateness.
It sounds like he thinks he's got you over a barrel, and since you are short, and he is a good nurse, he can pull his passive-aggressive power into play. If you could try suspending him for 3 days w/o pay, and then the very first time he is even 5 min late, he is out, not at the end of the shift, but right that minute.
If you have already followed all the steps in your P&P, and there is no such option as suspension, he needs to be terminated.
Good luck Melissa. I hope you are able to manitain your enthusiasm for many more years. Good managers are needed.