When c8051f02x 's I/O ports is configured to opendrain ,can see the outputting value in the peripherals I/O_ports when debugging?
I believe you are missing some info about SFR ports. Port 7 is SFR 0x96 which can only be accessed via a direct instruction. The XBYTE macro is used to address XDATA memory via a pointer. There is no indirect access to the SFR memory area. Suggest that you review memory areas idata,data, code and SFR for more info.