why not just sign each device in the raid with some array specific signature, and if you want to double check make it some hash that includes information about the configuration of that array plus some random/specified but likely to be unique key as well. So if you do move the device to a new host and there does happen to be another array there, it is unlikely for the hash to match any of the arrays on the new host. Also for auto assembly then you just need the hash from any one device to know where to look for the other components of this array.
Host name is not bad, but there is the problem of having to look on disk or something for this, unless say its written into the kernel.
If there were some key written into the kernel to uniquely id that kernel and build you could try using that too.
I don't think host name is a very good option just because in many cases it requires being able to read contents from your array before you assemble it. Of course if you have a separate boot partition you could just have a file there containting the name. But I think that having all the information in the per device (right term?) superblock would be better and would solve the concern you listed.
