The first step is to get your data into nice shape using some geocoding service. There are many of these out there these days, but Yahoo’s service has been many people’s favorite for quite a while: Yahoo! Maps Web Services. Especially if your data points aren’t going to change often, you should go through this exercise just once and store the results in the list(s) you are using to store your locations (offices, customers, etc.)
Once you have the data in place, you can quite easily set up a DVWP to display your data points on a map on your page, and the post above gives you a nice outline on how to go about it.
If you want to take things a step further, take a look at Jon’s follow-up post describing how to use Silverlight charting to spiff things up even more.
NOTE (added 7/22): Tracing through the two comments below (Thanks, Ian and Tom — Your examples are very useful.), there’s another nice post on the Microsoft SharePoint Designer Team Blog from Greg Chan covering using Virtual Earth in a DVWP: How to Integrate Virtual Earth Maps with a SharePoint List. His post is a little different that the one above, as it focuses on plotting a single location. By plotting a single address, you don’t need to use lat/long, as Virtual Earth automagically centers the view on that one point.
Another Note (added 7/24): To use Virtual Earth, you’ll really want to check out the Virtual Earth SDK. One of the nicest things about this SDK is that it shows you some of the things you can do visually. When you click on the links on the left, you can see working examples.