Do Pokemon always appear in the same spot?
While the exact spot will not spawn the exact same Pokemon repeatedly, the area you are in definitely affects the Pokemon which appear.
For example, my friend who lives on the beach sees water Pokemon all day, while I see more Rhyhorn and Eevee.
From the FAQ:
If you don’t see any Pokémon nearby, take a walk! Pokémon love places like parks, so try visiting a local recreational area. [...]
Some wild Pokémon appear only in certain environments and climates. For example, some Pokémon may appear only near lakes, oceans, or other bodies of water.
Also see this related question.
No, it is not predefined which Pokémon are where, especially for the rarer ones. It may look like that for Rattatas and Pidgeys, but they're are swarming everywhere.
they definitely have a pattern to their spawning. My neighbor keeps having sets of 3 spawn in her driveway. There is always a ponyta but the other two vary between venonat pidgeoto and rattata. Definitely more likely to see repeat spawns.