Here is a theory on how to hatch a PokeEgg with a Pokemon you already have in mind. Everyone already knows that there are different egg tiers, hatching a possible range of Pokemon per group. This new theory studies to specifically hatch a desired Pokemon based on its egg assignment. For instance, if you want a Pikachu, you grab a 2km egg and do some steps to really make it a Pikachu.
The steps are simple to follow but proof is yet to be published whether or not this is a proven method or just a coincidence. Let's go back to our desired Pikachu hatch.
First, grab a 2km egg, since Pikachu belongs to that tier. Second, take it for a walk as usual but don't go too fast as you only need to go half way, in this case, stop at 1km. Once halfway, you will need to evolve 3 Pokemon of the same type, so for Pikachu grab something that is of Electric type and evolve each of them.
After you have evolved the 3 type-related Pokemon, continue walking until you hatch it. You should have a Pikachu - in theory at least.
Any proof out there?
The guys at Otaku Kart have posted some experiment data and result which would somehow support if this is true or just remains a theory until further data is acquired.
They've incubated a 5km egg and started walking, at the 2.5km mark, they stop (as instructed above) and went on to evolve 3 normal type Pokemon which are 2 Pidgey and a Rattata. After that, they continued walking until the 5km mark. To their surprise, they got a Bellsprout instead of an expected Porygon. The 'researchers' then thought that maybe it is time sensitive, so they did it again the next day. This time they incubated a couple of 10 km eggs, following the same steps above but with a 1 hour gap. They wanted to hatch an Onix this time.
The results were, let's put it as 'sad', since neither got an Onix. But to turn the news table, they both got an Electabuzz, and to think that they did it an hour apart. They tried the experiment again with a couple 2km eggs, both got a Bulbasaur, following the same procedure.
What does this tell us?
As of this writing, nothing concrete really, it's just it is very possible to get a Pokemon of a specific TYPE not the specific Pokemon itself when you follow the instructions written above. So at this point it is probably safe to say that if you want an Electric Type Pokemon, incubate any egg, walk half way, evolve 3 electric type Pokemon, then hatch it. Chances are you will get an electric type Pokemon.
Here's a video commentary about Egg Hatch Theories based on location: