Multiple signals over single RJ-45 cable
First off, a minor quibble: RJ-45 is a connector, not a cable type. It is typically used to terminate Cat 3, Cat 5/5e, Cat 6, etc but is also used for other non-standard cables. You haven't specified the cable type, the current capability and impedance control of the cable depends on this.

Now, to answer your question, assuming you want to run USB 2.0 and 5V @ 2A over Cat 5e cable:

Regarding the USB data:

The USB specs would probably say no, you can't run USB over Cat 5e, for all sorts of quibbly reasons. However, in practice, the answer is maybe. IIRC USB impedance is 90Ω and Cat 5e is 100Ω, close enough. The USB maximum length is 5m, so 3m just might work. It's really hard to give a straight answer: the best thing to do would be to try it (and report back). Make sure that D+ and D- are on a twisted pair, not split between pairs. 

Regarding power:

For Cat 5e, the maximum current per conductor is a little north of 0.5A. If you want to run 2A, you have a little bit of an issue, according to spec. However, given that the Pi shouldn't be drawing a full 2A (and most of the time, should be drawing much less than that), if you use three pairs for power and ground, it should be fine. Also, on such a short run (compared to the 100m of Ethernet), the current shouldn't be an issue.

Regarding power for the HDD:

I'm assuming you've got a HDD that has both a 5V power input and the USB connection. If this is the case, providing the power from the supply and omitting power from the Pi is fine. However, I would tie the 5V and GND pins on the HDD USB connector to the HDD power supply. Leave the 5V and GND pins on the Pi USB connector unconnected.