My project involves outputting different audio signals (different volume/frequency) to the left and right headphones.
The question is, what kind of circuitry would I need (probably an amplifier). Can the Arduino generate audio signals on its own?. And, is this function feasible?
If you want "high-quality" sound there are "audio shields" (add-on boards). These boards have an SD card slot for audio files, a sample rate clock, a DAC, and the firmware to read & play the audio files. Some versions include an MP3 decoder and some have an amplifier to drive headphones and/or speakers. The audio board does all of the "work" and the Arduino simply acts as a controller. (Some of these boards can be used with just buttons & switches and no Arduino.)
The Arduino has a tone() function and it CAN drive headphones, BUT...
The "normal" Arduino does not have a DAC (digital-to-analog converter) so it only puts-out digital signals (square or rectangular waves) and you can't (digitally) control the volume.
Because of it's limited current capability (40mA "absolute maximum") which means the minimum resistance is 125 Ohms and you need to add resistors in series with the headphone connections. The resistor will reduce the volume, but it will probably be loud-enough, or you may need to add more resistance.
It might be better to write a computer or phone application, or you might consider using a Raspberry PI.