Marketo does have the ability to merge leads - but only one by one. For a one-time mass clean up, you'll want to find a service. Actually, I believe Marketo has a service that will work with you on this if you contact them.
For avoiding duplicates in the first place, check out RingLead. It will de-dupe lists that you import and it will warn you if you're manually entering a duplicate lead or account.