You can just get a ditto in Diamond/Pearl. It's somewhat rare but I will trade! I have TONS of Dratini too. Here's a few ways to get Ditto: Migrate from Pokemon Firered after getting into Circulean Cave by getting the National Dex and beating the Elite Four, the hard way.
You could get the Ditto by going to route 218, which is by that city on the WAY far left of the region (opposite of Sunyshore). Then you just use the Pokeradar to find it and it will only be in the ones that sparkle. It will be at levels 29 and 30 and it will sometimes, but rarely, hold a Quickpowder or Metalpowder. These raise the power of DITTO'S (and only Ditto's) speed and defense stat.
Get Dratini by going into Mt. Cornett and going to the FIRST snowy place. Go right, up, and then when you see a barely visible rockclimb area, go up. Then go up another time until you can't go up any more. There should be a cave on the right of you and a waterfall there. Surf until you are FACING the waterfall, and can't get any closer. DON'T go up. Fish with the super rod and you may find it soon. That's how you find those pokemon, and if you want to trade tell me. Because you have a, #1, 22% chance of finding Ditto, and #2, a 30% cance of finding Dratini. Dratini evolves into Dragonair at level 30, and Dragonite at level 55. So be careful if you don't want it to evolve!