Thank you for the comments. What I have found, which solves the simplest form of this problem (as far as I can tell) is as follows:
model {
changeyear ~ dunif(1,N)
for(j in 1:nsite){
b[j] ~ dnorm(0,tau.site)
b1[j] ~ dnorm(0, tau.site1)
}
}
# Note priors for tau.site and tau.site1 are not shown
for (i in 1:nyear){
for(j in 1:nsite){
y[i,j] <- b[j] * step(i-changeyear) + b1[j] * step(changeyear-i)
}}
Where y[i,j] is the expected value from my model. The step function works as an indicator function such that is the command evaluates to a non-negative value then 1, otherwise 0. So far, it seems that the changeyear is estimated as the mid point of my time series - but that is likely just a model issue to overcome not a syntax one. Thank you again for your thoughts!