The subbrick indices will be locked to integers, of course, but you could oversample to double the number of time points to be able to get to an index by 1/2 the original TR. Here's an example with a 3d+time dataset.
#!/bin/tcsh
set dset = epi_r1+orig
set nv = `3dnvals $dset`
@ nv --
set nlist = `count -digits 1 0 $nv`
set n2list = ()
foreach i ($nlist)
set n2list = ($n2list $i, $i,)
end
echo $n2list
3dTcat -prefix tempx2.nii.gz -overwrite $dset"[$n2list]"
3dcalc -a tempx2.nii.gz -b a+l -c a-l -expr 'step(l/2)*(b+c)/2 + not(step(l/2)*a)' \
-datum float -prefix x2_oversample.nii.gz -overwrite