Once you have the code compiled, you can use avrdude by hand and select any serial port you want.
You still would have to think about how to implement the auto-reset with the wireless thingy. Otherwise no upload.
I figured out how to get things to work from a plan makefile so I could get control of the different steps, and I can successfully upload over USB and /dev/ttyACM0 using my makefile and a echo command to write the reset command to /dev/ttyACM0 just before running avrdude. That even works correctly.
Unfortunately, when I try swapping /dev/rfcomm0 for /dev/ttyACM0, I get this error:
echo CRESET > /dev/rfcomm0
-C/zooty/arduino/arduino-1.0/hardware/tools/avrdude.conf -q -q -patmega328p \
-carduino -P/dev/rfcomm0 -D -Uflash:w:proto1.cpp.hex:i
avrdude: ser_open(): can't set attributes for device "/dev/rfcomm0": Inappropriate ioctl for device
ioctl("TIOCMGET"): Bad file descriptor
But I have no problem opening /dev/rfcomm0 in minicom and talking to the arduino from the terminal, so what kind of ioctl is avrdude trying to use (and where is the source for avrdude to be found).