Just wanted to mention that I've worked extensively with Texas A&M Geoservices. Great folks over there.
I was granted a couple thousand extra credits for various things like filling out a survey and even just asking for them, but there's no way you're going to get 100k without plopping down some cash. You could buy enough credits to handle your needs for $180.
You could also use the Google Maps API, which allows 2500 free geocode requests a day. Just limit the rate at which you request and you could be done bulk geocoding in ~40 days!
To geocode addresses from a spreadsheet, you need an ArcGIS online organizational account and for 100k customers you would need to buy a lot of credits.
So I guess you answered your own question?
I also did some research because I have had to geocode addresses for a couple of projects lately, one including only 200 address locations, but still tedious enough to use a tool to automate. I did not use the geocode service from ArcGIS Online or elsewhere, I actually used an address locator and placed points at each location
So, this is a chance for me to learn something new too!
I looked up "geocode" in my ArcToolbox. There is an ArcToolbox for "Geocoding Tools". Not sure if this comes with my level of licensing or if it is a basic desktop level license, but it allows you to create an address locator and then also geocode addresses using the address locator. I think you can also download address locators online.
If you need assistance finding the tool or if you are unable to find the tool I am talking about, it may be due to a licensing issue.
Just thought I would post since this seems to be a very common task amongst GISers.
I reckon you just need a layer to which you can join your list of customers. Depending on the degree of accuracy you need to plot your addresses you may have options to buy a layer, use a free one (where are you based? UK postcode layer is free to download), or make your own.
Retrieving data ...