I think kdTree will be enough. You can use it to add inbetween points to the original point cloud. The new ones will inherit properties, of the original points.
Think krakatoa ...
You mean like the Repopulation Modifier?
I was thinking about doing it for a fluid sim so I probably need to set some more rules such as speed and direction in order to gives nice sheeting.
But it seems like the kdTree is not working properly for me. Sometimes I have to safe and reopen the scene, but does not alway fix it.
I think the issue is only with the outAveragePositionPP. The rest seems to work as expected.