This is functionality we are looking at implementing.
If anyone is working on this, please let us know so we can co-ordinate efforts.
That being said, we haven't started working yet, but will post details to a public branch once we start / have something to show.
Regarding the promotion of values to the dashboard level, we think that prefixing variables with _ would be a good way to do this:
This way it's is under user control what is per-widget and what is dashboard global.