Dear Mike,
Thank you for your query.
That does not sound far fetched at all to me.
It makes total sense!
And it is easy, if you just keep it as simple as it can be. Don't mess up and start making it complicated.
Unfortunately, I cannot suggest much on the Dynamo side of things.
You should raise that question directly in the Dynamo community.
On the Revit API side, quite a number of aspects that you mention are already covered and implemented by various existing Revit SDK samples and a number of projects that I have played around with on The Building Coder and The 3D Web coder blogs:
http://thebuildingcoder.typepad.com
http://the3dwebcoder.typepad.com
From my perspective today, I would suggest that you go for a more modern NoSQL database rather than MySQL:
https://en.wikipedia.org/wiki/NoSQL
You can host it locally, if you like, in which case it will still be simpler and more flexible than MySQL.
Or you can host it in the cloud, in which case it will offer vast additional advantages.
In both cases, that will probably make for a simpler solution than MySQL.
Please refer to these two projects of mine for more ideas and to see some of the functionality that already exists, fully fleshed out and tested, just waiting for you to dive in:
https://github.com/jeremytammik/FireRatingCloud
https://github.com/CompHound/CompHound.github.io
However, as said, this is all based on the pure C# .NET Revit API, not Dynamo.
To get your feet wet with the Revit API, in case of interest, I recommend working through the getting started material first of all, especially the DevTV and My First Revit Plugin tutorials:
http://thebuildingcoder.typepad.com/blog/about-the-author.html#2
If you want to stick with pure Dynamo, as said, please ask in that community directly.
I hope this helps.
I look forward to hearing what you find out and how you get on!
Thank you!
Best regards,
Jeremy