Now that things like chests can have custom names, I tried naming a beacon. It CAN be named, and when it's placed, then picked up, the name sticks with it. But when I run: testforblock x y z minecraft:beacon -1 {CustomName:"CustomBeacon"} it returns: "The block at x y z did not have the required NBT tags."
Replacing that beacon with a named chest and running: testforblock x y z minecraft:chest -1 {CustomName:"Chesty"} in the exact same spot returns: "Successfully found the block at x y z."
No such tag exists for beacons, the name is only saved to memory, not to a tag.