Would you free feed humans or human children? Does that teach them good eating habits? Dogs are not "grazers" like cows or horses. They do not need to eat 24/7. In the wild they would eat one big meal (or the other animals would eat it for them)… When you free feed, you never really know when/what/how much they are eating. And since most dogs will go off their food if sick, you don't know that either when you free feed.
As far as teeth, I totally disagree with your Vet. Wet food does not cause bad teeth. NOT brushing them causes bad teeth/gums. Dry food after chewed leaves food on the teeth/gums just like wet food. And you need to teach your dog to let you brush his teeth, so if he will not let you, that is your mistake in not training him.
Watermellon, any mellons (not grapes), bananas, oranges, etc are all find for dogs. All veggies (not onions) cooked or raw. Usually they like root veggies the best. Mine love all squashes, carrots, potatoes (cooked usually without the skin), broccoli, cauliflower, etc....