Dado que picklist es un atributo de la columna, el dbgrid no puede mantener un picklist diferente para cada registro (fila).
Sin embargo, podes cambiarlo dinámicamente cada vez que cambia una fila (evento onScroll del DataSet), además de lo que ya estas haciendo para cuando se inserta un nuevo registro.
Hasta luego.