It is currently not possible to do that. Also, to do it the same way Godot does, you would have to be able to set that parameter before rendering, inside the rendering thread, and on the fly, because if you were to modify the material in any way, that would apply to all other objects using that material.
There could be room for a feature like this in the future, here is how I see it could be done:
That would be similar to what is found is Unity as "Property Blocks". It's like regular material parameters, except you set them on the node instead (
MeshInstance for example) and they override material parameters. This way, it's per-object, without having to duplicate the material, and the material remains unmodififed.
Although, I wonder why you think this is different than duplicating the material in Godot? The same shader would be used, just with different parameters, like you wanted, however there could be various reasons ranging from performance to workflow efficiency. For which reason do you want that feature?
For such a feature to be integrated one day, the first step would be to make a feature request on Github and explaining why it's useful.