Bulter Creek scope cap - choosing the size

That's very close sizes. Did you use a caliper and measure it several times? If you get the larger size, you could always use electrical tape around the rim of the objective or eyepiece for a snug fit. If you get the one that's undersized, you could use soapy water to slip it on or a hair dryer or heat gun to warm up the rubber piece. Last alternative if it's a tight fit is to sand the inside of the Butler Creek cap. Me personally, I would go with the larger size. They are very close in diameter. 
 
I would go #40 and #18. They are pretty much your exact dimensions since 0.1-0.2 mm isn't really anything when it comes to a rubber cap. When I installed BC caps on my scope, I had a similar situation and chose the undersized cap. As soon as I went to install it, I immediately wished I had went with the larger size (and I was dealing with 0.6 mm difference). As Peskadot explains, there are plenty of ways to make these caps fit if they are under/oversized, but your dimensions are so close that I would consider the "larger" caps as almost perfect size.