Вы можете сделать:
data1 <- BOD; data1$demand <- data1$demand +100
data2 <- BOD; data2$demand <- data2$demand +200
data3 <- BOD; data3$demand <- data3$demand +300
L <- list(data1, data2, data3)
combn(L, 2, simplify = FALSE, FUN=function(x) list(rbind(x[[1]], x[[2]]), rbind(x[[2]], x[[1]])))
или (чтобы раскрутить список):
R <- combn(L, 2, simplify = FALSE, FUN=function(x) list(rbind(x[[1]], x[[2]]), rbind(x[[2]], x[[1]])))
do.call(c, R)