This doesn't have to do specifically with spawn rates, but it does show how 'rare' a Pokemon is based on a catch rate. You can infer a Pokemon's spawn rate by looking at it's catch rate, in general. For example, if a Pokemon's base capture rate is 0%, it will likely never spawn. While this answer isn't 100% complete, it provides reputable sources, that explain all that we know at this point in time.
Keep in mind that the following information has been extracted from the Pokemon Go source code, and while its accuracy may seem feasible and reasonable, it is not yet official. That being said, this is what most people seem to believe at this point...
The following a list of the base capture rate for each of the 151 Pokemon in Pokemon Go (source):
- Base Capture Rate: List of Pokemon
- 56%: Magikarp
- 48%: Oddish
- 40%: Caterpie, Weedle, Pidgey, Rattata, Spearow, Ekans, Sandshrew, Nidoran (male), Nidoran (female), Jigglypuff, Zubat, Venonat, Diglett, Meowth, Psyduck, Mankey, Poliwag, Abra, Machop, Bellsprout, Tentacool, Geodude, Slowpoke, Magnemite, Doduo, Seel, Grimer, Shellder, Drowzee, Krabby, Voltorb, Exeggcute, Koffing, Rhyhorn, Horsea, Goldeen, Staryu
- 32%: Paras, Ponyta, Gastly, Cubone, Tangela, Eevee, Porygon, Omanyte, Kabuto, Dratini
- 24%: Clefairy, Vulpix, Growlithe, Farfetch'd, Mr. Mime, Scyther, Jynx, Electabuzz, Magmar, Pinsir, Tauros, Gloom
- 20%: Metapod, Kakuna, Pidgeotto, Nidorina, Nidorino, Poliwhirl, Kadabra, Machoke, Weepinbell, Graveler
- 16%: Bulbasaur, Charmander, Squirtle, Pikachu, Hitmonlee, Hitmonchan, Lickitung, Chansey, Lapras, Ditto, Aerodactyl, Snorlax, Kangaskhan, Onix, Raticate, Fearow, Arbok, Sandslash, Wigglytuff, Golbat, Parasect, Venomoth, Dugtrio, Persian, Golduck, Primeape, Tentacruel, Slowbro, Magneton, Dodrio, Dewgong, Muk, Cloyster, Haunter, Hypno, Kingler, Electrode, Exeggutor, Weezing, Rhydon, Seadra, Seaking, Starmie
- 12%: Rapidash, Marowak, Vaporeon, Jolteon, Flareon, Omastar, Kabutops, Vileplume
- 10%: Butterfree, Beedrill, Pidgeot, Nidoqueen, Nidoking, Poliwrath, Alakazam, Machamp, Victreebel, Golem
- 8%: Ivysaur, Charmeleon, Wartortle, Raichu, Clefable, Ninetales, Arcanine, Gyarados, Dragonair, Gengar
- 4%: Venusaur, Charizard, Blastoise, Dragonite
- 0%: Articuno, Zapdos, Moltres, Mewtwo, Mew
Keep in mind that base capture rate means the probability or likelihood that you will catch a Pokemon with a PokeBall, with no throw bonus, curveball, Razz Berry, or any other feature that increases or decreases your likelihood. You can read here about what factors can alter catch rate.
So to answer your question, the rarest Pokemon (based on base capture rate) are Articuno, Zapdos, Moltres, Mewtwo, and Mew.
From the above statistics, you can see that there are five Pokemon that are currently not catchable (with a base capture rate of 0%), including Articuno, Zapdos, Moltres, Mewtwo, and Mew. There is speculation that these Pokemon will be "given away" at Niantic events. It is also interesting to note that the ever mysterious Ditto has a base catch rate of 16%, so if anyone can find it, it's not uncatchable. However, this is a small point of discrepancy. If Ditto's spawn rate could be modeled off of its base capture rate, then Ditto would be as common as many other Pokemon, such as Bulbasaur, Charmander, Squirtle, and Pikachu. Similar exceptions can be seen with Pokemon such as Aerodactyl and Snorlax, which have the same base capture rate as the four* starters, but seem to spawn much less often. You must take these statistics with a grain of salt, but they are a great place to start forming conclusions.
This might also suggest that Ditto occurs just as commonly as the starters, but is masquerading as a different Pokemon, and nobody has figured out how to make it "un-transform."
It's also important to note that regional Pokemon will have a spawn rate of 0% outside of their respective regions.
EDIT: I also found this this page that shows more about how spawn rate is calculated in general.
EDIT 2: As requested, I found some more general information about general spawns, which can be watch in this video or read about at this page. Both sources explain this, but the website link in particular explains where to find different types of Pokemon, which, as @KazWolfe stated, shows the existence of biomes and/or nests in Pokemon Go.
Here is a helpful video that essentially summarizes all of the above information in a visual, easy to understand fashion.
*The three regular starters (Bulbasaur, Squirtle, and Charmander) plus Pikachu