Sure, just need to rewrite the bootloader to retrieve code from sd card, instead of from the serial interface. This has been discussed before, I don't know that anyone has done it.
Nick Gammon has written a sketch to load hex programs from one arduino to another
and I have cards on order to that combines 328, regulators, SD card, 3.3V buffer into one little card to run that sketch, standalone with no PC needed (except to initially load .hex files onto SD cards), from battery or wallwart. One version will just load a single file named firmware.hex, and a 2nd version will allow selection of files named 00.hex up to ff.hex. That code is not created yet, waiting on board delivery to have a test bed.
Commercial, yes: Use just the atmega chip with the bare-bone components and other parts as needed.