One more approach
newrows <- data.frame(id=unique(data_long$id), DV1=NA, DV2=NA, time=T0)
res <- merge(newrows, data_long, all.x=T, all.y=T)
res <- res[with(res, order(id, time)), ]
The result is:
> res
id DV1 DV2 time
5 1 NA NA 1980
2 1 -0.6264538 -0.62124058 1989
3 1 0.1836433 -2.21469989 1995
1 1 -0.8356286 1.12493092 2003
4 1 NA -0.04493361 2010
9 2 NA NA 1980
10 2 NA NA 1989
6 2 -0.8204684 0.94383621 1995
7 2 0.4874291 0.82122120 2003
8 2 0.7383247 NA 2010
13 3 NA NA 1980
11 3 -0.3053884 0.78213630 1995
12 3 1.5117812 0.07456498 2003
14 3 NA NA 2010
Hope it helps,
alex