How to develop a custom sculpt tool?
Sculting is a very calculation intensive task. For speed reasons it has been developed in the core of blender using the C language. Implementing the tools you describe in sculpting is possible, but not using the python API. Gladly Blender is OpenSource so you will be able to get the sourcecode and change it to your likings.

Python Alternative:

As in your description the topology must be the same it sounds like sculpting is more the UI/workflow and not the tool (using sculpting the topology does not have to be the same (Dynamic topology). Implementing such a feature inside the 3d editor using python seems to be an good alternative.

You could even store the values in a Weightmap and use this data to calculate the new mesh. Getter the interactivity will be the challenge.