This reflects a limitation of float literals which is tracked by SR-920. The Decimal type itself belongs to Foundation, with an uncertain future going forward, so any solution that's specific to that type couldn't be sunk down. Improvements to float literals would benefit existing standard library floating-point types anyway and are sorely needed, and for that reason, a macro wouldn't be the ideal solution.
The correct way is indeed to improve existing literal protocols, but a macro sounds like a good idea for contexts where you need to back-deploy... because if it's like StaticBigInt, those improvements won't be available when running on older Apple platforms.
Indeed, having a more generic way of specifying numeric literals would also support new Decimal number types like Decimal32, Decimal64, and Decimal128. @scanon has approval for work on a Decimal64 type.