To do this with a single model file, you'd have to use a different mu_x and prec_x for each prediction, because they'll have different (more diffuse) posterior distributions if they are based on less data. So wrap the whole thing in a loop over j, use something like
for (i in 1:j) {
x[i,j] ~ dnorm(mu_x[j],prec_x[j])
and put j subscripts on everything else. Finally you'd have to supply x as a matrix of replicates of the original x. You could use a data{ } block to facilitate that (see section 7.0.4 of the manual).