Hello, and welcome to the forum.
Don't confuse bits and bytes. The code that you have shown defines a union between a byte and a bit field. Each element of the bit field represents an individual bit within the 8-bit register at address 0x0000. The macros are then used to simplify the appearance of the code.
The macro associated with _PTAD.Byte is used when all bits of the register need to be simultaneously written or read.
You will notice that bit mask values are also defined in the file. These may be used in lieu of the bit field, at the expense of code of more complex appearance.
For the one-wire interface, there are time critical elements within the "bit-banged" code, especially for the processing of each bit within a sequence. I have previously chosen to use inline assembly code to provide very tight control of the timing. For the one-wire pin manipulation, I therefore directly used assembler.
Note that, during the time critical periods of the one-wire operation, all interrupts need to be globally inhibited so that the timing cannot be affected. I am not sure whether this is compatible with Zigbee operation.
Regards,
Mac