No, non esistono controller compatibili al ATmega che possono essere programmati solo una volta.
L' unica cosa che puoi fare é bloccare la lettura del codice programmato e proteggere contro la programmazione la memoria flash settando le opportune FUSE. In questo modo non si possono ricavare il codice programmato, solo cancellarlo.
Puoi, per non bloccare Arduino e perché é abbastanza ingombrante passare a un modello minimale di Arduino (come un Arduino mini, Arduino mini Pro o altri) o farti una schedina e usare solo il ATmega senza la scheda Arduino.
http://www.arduino.cc/en/Main/StandaloneAssemblyhttp://www.arduino.cc/playground/Learning/AtmegaStandaloneCiao Uwe