I see you are trying to use different editors for different cells in the same column.
ParamQuery offers column, row and cell level granularity so yes it's doable.
editor.type callback fn is supposed to provide rowIndx (it's added in next version) but that's not a big issue since you can get rowIndx from ui.rowData using method getRowIndx.
I guess there is no need to keep a separate cellMetaData array to store meta data (dataType) for the cells. rowIndx would change when you sort / filter the rows and that would cause misalignment between meta data and grid data.
It's better to store cell meta data in rowData which is quite simple and easy similar to the way pq_cellcls does for storing cell classes.
rowData[ namespace + '_dataType' ] [ dataIndx ] = constants.PropertyDataType.Date;