AFNI programs do not use NaN and don't like them at all. In particular, your idea of using NaN to mark missing data won't work with our ANOVA programs.
A little experimentation shows me that 3dUndump currently reads the string 'NaN' and stores a NaN value in the dataset (if the dataset is float-valued, that is). I am modifying this behavior to print a warning message and convert the NaN value to zero, since no AFNI program will deal with NaN values properly.
With regards to doing group analysis, the 3dOverlap program was created for the purpose of making a mask of overlapping voxels.
Allowing for missing data on a per-voxel level would require constructing a different ANOVA/linear model matrix for each voxel, which is not really something we're ready to face up to -- right now, the statistical model for each voxel is the same, and only the data varies.
Sorry for such an unsatisfactory answer.