Executing CODE from SD card

Why is the sketch so large anyways?
Does it have lots of data (stuff that is not code) such as pictures or sound?
If so you could have your program read the data from the sd card when it is needed.
Also you could try optimizing your sketch.
I have seen many examples of arduino code that could be made smaller without sacrificing functionality.
If you want to could you post your code so that I can see what it is that you are trying to do.
Anyways you don't have much ram and the AVR uses the harvard architecture which means flash and ram are separate and as such you cannot execute code from ram.
You could make a bootloader that would load code from the SD card and store it into flash memory but that does not solve the size issue.