Я не даю никаких обещаний по поводу характеристик производительности этого метода, поскольку ваши фактические данные довольно велики, но это может по крайней мере дать вам необходимые инструменты для работы:
#Some example data like yours
m <- matrix(1:25,5,5)
rownames(m) <- letters[1:5]
colnames(m) <- letters[1:5]
#Matrix of row/col indices to select
ind <- cbind(c('a','e','b'),c('d','a','d'))
#Select elements of m matching ind
diag(m[match(ind[,1],rownames(m)),match(ind[,2],colnames(m))])