You'd be surprised how easy it is to set up + run Hail on the cloud, but I think it should work locally too.
Here's roughly what you'll want to do:
from hail import *
hc = HailContext()
vds = hc.read('my.vds')
for chrom, start, end in my_ranges:
region = vds.filter_intervals(Interval.parse('%s:%d-%d' % (chrom, start, end)))
df = region.variants_table() \
.annotate('ref = v.ref') # this line and the next are here for performance reasons
.select(['ref']) # since we're only looking at the reference allele
If it's possible for you to share, what sorts of analysis are you doing with the reference allele? It may be possible to do it on the keytable itself, which will be naturally distributed and possibly faster.