Straight up to your questions:
You can create a custom editor function that will create an unique editor on every call. Check this demo
that demonstrates how to define a custom grid editor.
The best approach will be to use function currying. Thus you will be able to pass the id of the widget to a function that returns a DataSource instance. Here is a demo
that shows how to do this.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI