Charging is done by an electronic circuit that controls and adjusts voltage, current and terminates the charging, when the battery is full. Those circuits are part of any charger (not to be confused with power supply units, even if in many cases they look similar), or are part of the according device, but anyway directly attached to the battery.
An USB port only delivers the power as a constant voltage source and cannot tell, what the current is used for, or why there are changes in load. Its voltage regulator simply keeps the voltage constant to the rated level, and depending on the power drawn delivers the asked current up to the rated maximum.
So, no, there is no way looking at any USB port and tell if a battery is charged, if it's full or for wich all devices and loads the power is used the port delivers.
Also the battery states are mostly measured and delivered by a so called fuel gauge. Those circuits are an integrated part of the battery. The device communicates with the battery's fuel gauge over Smart Battery Bus, I2C, 1-Wire-Bus or some other bus. And normally only the manufacturer knows which one. And even if you find out, which one, you cannot have direct access to it easily, unless you have the according rights and tools of the installed OS to get to that bus. And even if so, I doubt you can get anything useful of that data, since it comes in very raw form another software on OS's side translates into readable values.
So, you either have to live, with what the OS delivers you. Or, as
cracauer@ said, you need to get a powermeter to watch the power changes. And even so you need to learn to read that information, because besides the battery charging there is other, alternating power used on the device while, before and after charging.