I'm inferring that you're going to be doing the same (or very similar) things to each matrix, in which case the R-idiomatic way to deal with this is to keep them together in a list of matrices. This is the same approach as a "list of frames", see https://stackoverflow.com/a/24376207/3358272.
For a list of matrices, try:
lst_of_mtx <- replicate(18, array(dim = c(10, 20)), simplify = FALSE)
As an alternative, depending on your processing, you could do a single 3d array
ary <- array(dim=2:4, dimnames=list(NULL,NULL,paste0("mat", c(10, 15, 20, 25), "ci")))
ary
# , , mat10ci
# [,1] [,2] [,3]
# [1,] NA NA NA
# [2,] NA NA NA
# , , mat15ci
# [,1] [,2] [,3]
# [1,] NA NA NA
# [2,] NA NA NA
# , , mat20ci
# [,1] [,2] [,3]
# [1,] NA NA NA
# [2,] NA NA NA
# , , mat25ci
# [,1] [,2] [,3]
# [1,] NA NA NA
# [2,] NA NA NA
where you can deal with just one "slice" of the array as
ary[,,"mat25ci"]
# [,1] [,2] [,3]
# [1,] NA NA NA
# [2,] NA NA NA