Here one way to vectorize :
## zi should passed a additional parameter to f
f<-
function(x,z1,z2,z3,z4,z5)
(z1*(1-exp(-.25*x))
+z2*(exp(-.25*x)-exp(-.5*x))
+z3*(exp(-.5*x)-exp(-.75*x))
+z4*(exp(-.75*x)-exp(-x)))/
(z1*exp(-.25*x)+z2*exp(-.5*x)+z3*exp(-.75*x)+z4*exp(-x))-z5
## wrap the unitroot function to make it function of only zi
root_f <-
function(z1,z2,z3,z4,z5)
uniroot(f, c(0,1),z1,z2,z3,z4,z5)
## use mapply to vectorize
mapply(root_f,Z1,Z2,Z3,Z4,Z5)