It’s not explicitly documented either way, but it is perfectly valid, evidently, to attach the same SCNGeometry to multiple SCNNodes. Works as you’d expect – changes to the geometry are reflected across all the nodes identically.
It doesn’t appear to have any performance impact though, oddly. At least not in fairly trivial scenes. It might be that it uses more RAM (and VRAM) for the duplicates behind the scenes; the geometry in my testing isn’t complicated enough for that to matter.