I don't see a lot of difference with your previous question except the last rbind. You should carefully read the answers.
ll <- lapply(seq_along(text),function(i)
data.frame(ID = paste(sprintf("%02d", i),
sprintf("%03d", seq_along(text[[i]])),
sep = ""),
sent=text[[i]]))
do.call(rbind,ll)
ID sent
1 01001 ab
2 01002 cd
3 02001 de
4 02002 cd
5 02003 bc
6 03001 cd
7 04001 bc
8 04002 ab