30720 bytes maximum sketch size, if not enogh?

An SD card would be good only for data. However, if you are running an interpreter, then code basically becomes data. Then of course the SD card can hold your code. If you do not mind to go for something like forth this can give you pretty good performance as well. However I see no way to put "Arduino code" into an SD card such that it can be executed with reasonable performance. Unless you course you go so far as to self flash the Arduino from the SD card. Something that is most probably very far stretched.

Udo