Can I have Screen Sharing use something like ssh-keygen, so I don't have to type my password every time?
No, I don't think so. Screen sharing uses VNC which is a different protocol than SSH. SSH allows you to use keys which is the mechanism where you can not use typed passwords.