I found a site to do just that

! Check out
http://www.batchgeocode.com/.
The input to the site is rows of addresses (step 2). For me I only use the first few columns: Address City State Zipcode Name. Remove the column headings on the first row for the columns you are not going to use. You can export the patient list from Open Dental to excel. Then save it as a tab-delimited list, and copy it to the text input area of step 2. Again, remember to keep the first row there.
Click "Run Geocoder" in step 5. You will get the maps with pins right below!!!!
You can then save the map as a web page on their site or save the data in KML and then import it into Google Map to create your own Google map. Rmember to save the map as "unlisted" in your Google map. Otherwise, you are going to get into trouble due to privacy issues.
You can also get fancy by adding images or other information.
I do have a concern about having paitent names in the map. No matter whether it is batchgeocode or Google map, it is a public url. I think it is better not using patient names in the map. After I am sure I will not get into trouble, I will add patient names or even phone numbers to it.
SELECT concat(address, ' ', address2) as address, City, State, Zip, concat(LNAME, ', ', FNAME) as name
FROM patient
WHERE PatStatus=0
/*only patients with procedures within the last three years*/
AND EXISTS(SELECT * FROM procedurelog
WHERE procedurelog.PatNum=patient.PatNum
AND procedurelog.ProcDate > CURDATE() - INTERVAL 3 YEAR)
GROUP BY Guarantor
ORDER BY LName,FName