I have implement the ConfigOptionProvider interface to dynamically add configuration parameter options at runtime with getParameterOptions. How can i distinguish between the individual instances of things? Each thing i create calls a set of parameters from the device.

There are some bindings that do use it too. Search for ConfigOptionProvider in the openhab-addons repository and you can see how they distinguish between different things.

I think they only distinguish by thing-type and not individual things.