Is there a unique ID for actors placed in the level that is stable across executions and modifications to the level?

Have you tried using GetObjectName? That function should return an unique ID of an object placed in the world (as you can read here, it’s unique only in a specific level, so that’s probably why it’s only available in the level blueprint)

Edit: there should also be a GetUniqueID function (but this post is 9 years old and I haven’t tried it)