I think the idea is good, but I have trouble to see how the dialect will look like, do you have an example of a common dialect (if possible not around transferring token) so I can better understand it.
I also suggested another idea ( [Discussion/Idea] Domain/Pallet specific XCM language · Issue #30 · paritytech/xcm-format · GitHub ) which is more oriented around pallet (even if XCM should not be related to pallets) as a temporary solution, but I’m open to the idea of dialect.