Q: Can USB be used to provide power and simultaneoulsy be used for USB functions?
A: This is possible. This is done on the Beagle board and you can check the schematic for this. There is a restriction though – you can use only client mode in this case. For the host mode you need to get the 5V supply from the power management device (charge pump) and pin4 on the USB connector then should be grounded. To power up the charge pump the device needs to be turned ON with another power source.
Please see implementation on Beagle board - www.beagleboard.org