where can I find a ditto in Pokemon black 2
Only in the Giant Chasm's forest, where it has a 15% chance to appear. There is also a Hidden Grotto in that location that may hold a Ditto with its Dream World ability, Impostor.
I actually found mine on victory road, near the badge-checking area. There are loads of boulders to push around, and a grassy area which is where I found it. They can also be found in Giant Chasm.