Is it possible to program the arduino device over spi or i2c? What i was thinking is making a program that programs the arduino without a programmer. I know with PIC, they have this neat bootloader that, after resetting, it allows you to run a program that is currently in the memory or you can select a program from a memory card. I was thinking of something similar....
If you have the skill you can write a bootloader that loads from anything you like, SD cards included.
You could even have it display a menu of programs resident on the card and let the user select the one to burn.
Rob
Maybe use NickGammon's program to load from SD card as a starting point.