Charging directly from the I/O pins would be a compromise solution that was unlikely to produce a good result.
Simple charger
If you want to charge the batteries "properly" to achieve longest battery lifetime and quick charging, then the BQ2000T IC mentioned by Matt is a good choice. There are many others but that does all of what you need and is compact and has relatively simple circuitry. [BQ2000T datasheet here](http://www.ti.com/lit/ds/symlink/
However, it's "simple" charger is shown in the circuit below. You can decide if this level of complexity is OK considering what it offers. Note thatthis is not overly complex. Q1/Q2/Q3 form a switching regulator with L1. This could be reduced to Q1 & Q3 with removal of Q2 and L1 if USB was used as power source. The rest is mainly diodes, resistors and capacitors.
Note that this is a very "nice" solution and achieves a degree of sophistication which is hard to achieve without an IC of this sort. At $4.50/1 it's a bargain compared to doing it yourself.

MPPT charger.
The LT3652 is a IC that produces a sophisticated tracking charger and which can handle all major battery chemistries. $6.50 in stock Digikey
This IC allows the USB input voltage (in this case) to be adapted to suit battery level.

Note that no external transistor switch is required.
Super simple system
If you wanted greater simplicity and lower cost then a very simple system could be used.
Acceptable charge rates with proper charge termination are up to 1C = one hour o meet full nominal charge capacity. Typical AAA NimH are around 1000 mAh and NiCd are lower. If you are happy with the 100 mA that you mentioned then this is about C/10 for NimH and under C/5 for NiCd.
At charge rates of C/5 - C/10 you can "get away with" charge termination based on endpoint voltage and absolute charging time. This is not likely to be as good for your batteries long term but is probably acceptable.
The charger can be an on/off switch from USB, feeding a series resistor to batteries. Battery voltage is monitored and charge terminated at 1.45 V/cell. A thermistor temperature monitor can be added as per eg fig 11 of datasheet.
The series resistor can instead be a current source. The low headroom (= VUSB - Vbattery) means that an opamp design would be best and you may need as much PCB area as a BQ2000T design would have taken. In practice a series resistor would work OK.
Battery flat = 3V. 100 mA required.
Rseries = (V_USB-Vabt)/Ichg = (5-3)/0.1 = 20 R.
Fully charged. (5-4.35)/0.1A = 6.5R.
Compromise R = ??? - maybe 15R.
Remove ALL the circuit except Q1.
Replace L1 with a resistor OR a low dropout current source (see text).
Supply from USB
Monitor battery voltage with processor.
Monitor temperature (optional).
Timeout if charge cycle is too long.
Q1 can be driven directly by the processor - even more easily if a P Channel MOSFET is used.
I'd personally strongly lean towards the nice IC based design, but the simple one would work OK.
Trickle Charging
For a fuller treatment of this see this stack exchange answer to - "Is it safe to uprate Ni-MH batteries to a higher rating than the vendors recommended spec?" but ...
Modern high capacity NimH cells are very much more prone to damage from ongoing trickle charging than older lower capacity cells.
There are 3 main schools of advice re trickle charging modern high capacity NimH -
NO trickle charging - most major battery makers.
Trickle charge for strictly limited periods. Most others.
Trickle charge at very very very low rates compared to old school rates - say at C/100 !!! A very few.
Some few manufacturers suggest trickle charging at C/10 is OK as in old version batteries. Shun such makers and do not buy their products - they demonstrate that they are churning out data sheets with no understanding of what they are doing.
For AA NimH cells, anything over about 2000 mAh can be considered "high capacity". AAA energy is usually somewhat under half AA so anything over about 900 mAh is probably "high capacity".
I don't know what you mean by "connected" your headphone amplifier to USB. I'll assume you mean that you are powering it from the USB. In that case, the noise on the USB power is getting into the headphone signal.
Since the amp apparently isn't designed to filter the power input, you'll have to add that. Put a small inductor in series with the USB power line, then add a capacitor to ground on the amp side of the inductor. You probably don't need much of a inductor. Even a ferrite "chip inductor" would probably help. The most important point is to put a few 10s of µF of ceramic capacitance immediately accross the power input to the amp. A few 100 µF electrolytic in addition couldn't hurt.
Best Answer
1) Typically yes, but USB hosts are sometimes very loosely implemented. I've got a cheap Sweex USB hub which doesn't do anything when I short circuit the +5V USB power..
2) Depends on the headphones and the amplifier. You can probably figure out how much it could take to look at the maximum power, and divide it by the 1.5Volts. It's probably a maximum with maximum decibels.
I don't know the exact limits of a AA battery, but if you got a 2200mAh battery, I would say they should be able to deliver 2.2Amps (1C discharge rate).
3&4) A LM317T is a simple solution. It dissipates the 'left over' volts into heat. So if the input to output difference is 3,5V at 100mA, it will dissipate 100mA*3.5V=350mW. Note that if you take 100mA at 1.5V, it will also take about 100mA at 5V. This also means that theoretically you can only power up to 100mA @ 1.5V. If you assume that the enumeration thing is not a problem, it would be 500mA @ 1.5V.
So, question 4: no, if you want that you need a switch mode power supply (SMPS). A linear supply (like a LM317) will have Current in = Current out, (leaving quiescent current out for now). The switching power supply will try to be Power in = Power out (without it's efficiency taken into account). So 5V 1A could be 2.5V 2A, 1.2 4.166A, as they all equal 5W. If you take into account an efficiency of 80%, you would probably see something more like 1.2 3A or something.
A SMPS is more complex to build up as it needs a inductor and a flyback diode. Also note that it may create a hum in the sound if the switching frequencies would 'leak' into your audio signal. So I think it's best to see if a LM317 is capable of powering your circuit.
@xsari3x: A current mirror is not used to deliver power. It's used to bias transistor amplifiers within opamps or other signal amplifiers. Furthermore, those outputs are constant current , where we need a constant voltage output here.