As you can see it gets very repetitive duplicating variables into each stage. Is there a way I can have a second file for globals that I can merge with this file somehow? That way I can remove duplicates from each stage.
The better solution will be to use SSM parameters. It will help not only for yml file but also it will allow you to share variables between multiple serverless projects / lambda functions.
Following link might help you.