I think it would be possible. There's the version where you start with a blank file and mmap as you please, and the version where you still start with by specifying an executable and then set the other state. The latter version should work just fine with setid.
Agreed with the others that setid is bad and ultimately should be gotten rid of, but we do need to support it for a transitional period. So thanks, good question.
root and suid are big hammers that should be eliminated. In a capability world maybe you can send a message to some more powerful process to ask it to do things for you.