John Malkovich was approached about this film several times and loved the script, but he and his production crew felt that another actor would fit the role better. Malkovich offered to help produce the film, and aid Spike Jonze in any way, but refused to star in it. Eventually after a couple of years Malkovich's will was worn down and he agreed to star in the film.
Charlie Kaufman had no backup actors in mind to play themselves in the title role if John Malkovich couldn't appear in the film, and every time somebody offered to produce the film on the condition that a different actor be used, Kaufman adamantly refused--even when Malkovich himself made the offer.
John Malkovich claimed that he approached the character of "John Malkovich" as he would any other fictional role, and that the only thing about his real life that was reflected in the film is his wardrobe.
John Cusack read the script after he had asked his agent to present him with the "craziest, most unproduceable script you can find." Impressed with it, he asked his agent to follow its progress and book him an audition, which won him the role.
When Cameron Diaz was dressed up in character and talked to some members of the crew, they thought she was a stranger.