Olá Guilherme,
para a execução de rotinas você precisa do código já compilado para o microprocessador específico do arduino nano. Esse código compilado deverá ser carregado para a memória principal para que o microprocessador possa executar as instruções.
Dito isso, não vejo como o cartão SD pode te ajudar caso você necessite de mais memória para a sua aplicação. Um jeito possível seria utilizar o cartão SD como memória swap, mas isso vai deixar o sistema mais lerdo e nem sei se existem bibliotecas pro arduino funcionar desse jeito.
Já se você quiser utilizar o cartão SD para guardar dados aí é bem mais simples, você pode seguir esse post que ensina como fazer.
Bom, por fim, se você estiver com problemas de memória, recomendo que você compre uma outra placa com mais memória mesmo ou dê uma checada no seu código pra tentar escovar uns bits... :(