No, pointers won't work over the network and structs don't have handles. And there's a good reason for that.

Many structs don't have to be synchronized over the network. If you create a struct with pointers to all your HUD elements, other players don't have to know about that particular struct on your computer. So it is very well possible for a struct instance to exist on one machine, and not on another. So there is no way to have a handle that refers to the same instance on all connected machines, since you may not waht that instance to exist on all machines.

What the engine does with entities is replicate them. If you create an entity, a handle is assigned to it and the other systems on the network are told to create an entity with that handle, too. All changes made to the entity are broadcast to the other machines where the changes are effected too.

You can devise a similar system yourself. If you create a struct that you want to have replicated, you assign it some unique ID (make sure they're actually unique: have a single authority to assign IDs, or use GUIDs). Then broadcast a message to all systems to tell them that they should create a struct with that ID. Then everytime you change something about the struct somewhere, send an update stating that struct with ID x was changed to state y.

I hope this was usefull, let me know if you have questions..