I am trying to extend the program memory
Sorry, not possible on basic AVRs.
On the other hand, if you're trying to provide an extension to data storage, that's doable indirectly, though you need to consider where the data comes from after power up.
Maybe SD?