How to estimate USB's power consumption
For USB2.0 port, I know when it is working , the power consumption is
  5V * 500mA = 2500mW.


This would be the maximum power taken by a USB-compliant device when connected to one port and enumerated. Some devices (like old 2.5" HDD enclosures) did consume much more than that, 1-1.5 A.


  I'm not sure how to estimate its sleep power consumption, I mean when
  an usb-stick is plugged in but no read/write operation on it, can
  someone give me a suggestion about it?


This is not "sleep power consumption". When USB stick is plugged and no I/O activity, it will still consume substantial current as under heavy I/O, because the bus is active, sends SOFs, gets periodic status of the device, etc. However, if USB host puts this link into USB_SUSPEND (bus activity stops), a good USB-compliant device will enter low-power mode, and consume no more than 500 uA. Unfortunately, USB 2.0 mass storage devices are not subjected to USB_SUSPEND policy, they are always active. Depending on how a USB stick is made, how many storage chips is inside and who makes the controller, it is impossible to esimate its power consumption when I/O is not there.


  if the USB port is empty and nothing is plugged in it


This port itself won't consume any power over VBUS wire, but the host controller (root port) behind this port will. External USB hubs usually have a table of power consumption under different port configurations and speeds of attached devices, but I haven't seen similar public data about host controllers.