1) Not stable. The ID is an auto assigned number, at runtime, based on how many objects have been loaded at the time. Dustin was adding some code to allow you to control a device by name (it's required to be unique anyhow); just last night I was working out a plan to merge and forward port that code.
2) I think the change by Dustin would help your case, you but I am also planning a feature to add synonyms to device names and commands, to aid in voice commands. If there Amazon API allows, you could just send the entire spoken text to Pytomation, as it can already understand spoken text.
Let me first say this is really cool, and would love to add this capability to the Pytomation repo. I should, however, declare my bias: I, personally, don't like Alexa or Google Assistant. I don't like how the technology requires Amazon and Goggle to record audio in your home and send and save that data on their servers, all the time, no exceptions.
I've been, silently and slowly I'll admit, working on building a script to handle continuous speech recognition, using the Kaldi gstreamer server, so it can feed commands to Pytomation when it hears the keyword of your choosing. Kaldi is free, opens source, has comparable accuracy with US English, and runs on your own server.
Some would see this as a good thing, others not so much, so I really would like to keep the options open, for people to choose themselves.
After that, I'd add Wolfram hooks to send the spoken text query to Wolfram if Pytomation couldn't recognize the command internally. With the more interfaces (or skills) added to Pytomation, the more it becomes it's own Assistant.