You can monitor real IO with no difficulty, but there are a few caveats.
If you are using PLC based alarming, the IO address and status may conflict with the alarm state. Using the HMI alarming with real IO is a better solution, only IF you have a single monitoring point. For multiple HMIs that monitor one PLC, you probably will have to go with PLC based alarming. In that case, monitoring the alarm/normal status of an input is better than monitoring the actual IO.
Almost everything I do with HMI is indirect. The only real IO I monitor are safety points.
You and the PLC programmer need to butt heads. Soon. A lot of what each of you will do depends heavily on what the other guy is doing, the capabilities of the equipment, and software.
You don't have to use the same tag names as are in the PLC. As you create your screens, and add tags, you can name them and add the appropriate PLC address as you go. It is common practice to name them the same, or at least similar enough to where there is no doubt. For instance, ALM_MOTOR_1 on one device, and MOTOR_1_FAIL on another are fairly similar. As long as you are consistent on both devices, you will be ok.
One other aspect of this that you may consider, which I do as much as possible, is consult with the "end user", the operators and technicians who will be using the system, and get their input on what they would like to see for operating and troubleshooting.
Forcing a different scheme onto experienced hands often does not make a smooth transition.
Or, you could simply try to convince them that your way is better. Just make sure it is!
(wait ... what was the question again?)