@cif140
I've set this up using the buttons on a logitec s-150 usb sound card+amp+speakers. To the pi, it registers as two devices a sound card, and a HID keyboard.
Anyways, I used triggerhappy (or its deamon: thd) to listen to specific keypresses (it has a mode to just show the presses it detects, so you can find out easily depending on your HW).
This then triggers one of three scripts for volume up, down or mute toggle.
These scripts first perform the alsa command, then play a sound to reflect the current sound volume.
This all starts at system startup, and is completely independent from RetroArch.
I can post the scripts if you're interested, and when I'm back at a proper computer.