AFter seeing TDK, I think Ledger could've pulled off pretty much any role he wanted. He could've been the new Johnny Depp, a younger version. Sadly now we'll never know...
I made cast lists a long time ago for SH 1 - 3, but following the request of the original poster I'll try to keep it limited to just two for this post. So with only two for now, I thought I'd bring something new to the table that I haven't seen anyone suggest:
I based my choices primarily on physical resemblance and not necessarily on acting ability, so keep that in mind.
I'd probably cast Naomi Watts for Mary/Maria though. In big part because she's good in everything she does.
I agree! I have her in my cast list for Mary/Maria as well. She's beautiful, and she already played kind of a dual role in Mulholland Drive so I think she'd ace the role.
SWS is a great choice for Travis looks-wise. Though I think he and Henry are typical-looking and generic enough where you could put almost anyone into their shoes.
On the Aaron Eckhart suggestion for James -