I think any of these actors would be able to convincingly play either Gordon, or alternately Rupert Thorne (although that might be seen as a retread of Carmine Falcone from Nolan's Bat trilogy):
Colin Firth
William H Macy
Ben Stiller
Alec Baldwin
Paul Giamatti
And these are some random younger actors (teens up to 40s) who I think could play either villains or heroes in Batman's world (in some cases the larger DC cast of characters):
Jaeden Martell - Robin (Tim Drake)
Taron Egerton - Two-Face, Riddler, Clock King | GL Hal Jordan
Eddie Redmayne - Riddler, Mad Hatter, Clock King
Logan Lerman - Nightwing
Paul Dano - Black Mask, Scarecrow, Freeze
Dave Franco - Scarecrow, Riddler | GL Guy Gardner
Freddie Highmore - Scarecrow, Riddler, Langstrom/Man-Bat
Will Poulter - Joker, Riddler | Green Arrow
James Marsden - Two-Face, The Question | GL Hal Jordan
John Krasinski - Two-Face, Joker?, Owlman | GL Kyle Rayner
Matt Bomer - Two-Face, Black Mask | Flash (Barry Allen)
Bradley Cooper - Joker, Two-Face, Black Mask
Colin Farrell - Deathstroke, Deadshot, Clayface
Wes Bentley - Two-Face, Deadshot, Clock King
Jensen Ackles - Red Hood, Firefly, Clayface, Deadshot, Langstrom/Man-Bat, Owlman | Dr. Fate (Kent Nelson)