Finding a post’s slug

The slug is already in the post object, it’s $post->post_name.

And as you observed, yes, the way to get the post link is get_permalink( $post->ID );