"Quién tiene pan no tiene dientes y quién no tiene dientes tiene pan."
Translation:He who has bread does not have teeth and he who does not have teeth has bread.
The whole point of the saying is lost when the two halves are just repetition. The second half should be "y quién sí tiene dientes no tiene pan."
It is idiomatic. It means that usually someone who has money/stuff doesn't appreciate it, while someone who could appreciate it can't buy/have it. At least, in Italian the saying is pretty much the same and that's what it means.
It should be OK. We need to add 'he' to have it make sense in English, and I see using 'whoever' as the same.
Whoever is much more grammatically correct. The 'who' correct solution is a terrible sentence.