I think you will find this link helpful: http://www.pokemongodb.net/2016/04/pokemon-go-types.html
It has a chart at the top showing what percentage of Kanto pokemon belong in each type. Below, it shows a list of all Pokemon in the game and after that there is a chart showing what type of Pokemon to expect in various Biomes.
Happy Hunting!
Possible Types
Normal
Boundaries, Landuse, Places, Roads, Transit, College, Commercial,
Common, Footway, Hospital, Hotel, Library, Major Road, Minor Road,
Pedestrian, Pitch, Playa, Recreation Area, Retail, Runway, School,
Sports Center, Stadium, University
Grass
Landmass, Farm, Farmland, Farmyard, Forest, Garden, Golf Course,
Grass, Meadow, Nature Reserve, Park, Path, Playground, Residential,
Wood
Bug
Farm, Farmland, Farmyard, Forest, Garden, Golf Course, Grass, Nature
Reserve, Park, Path, Playground, Wood
Water
Water, Basin, Canal, Dock, Drain, Glacier, Lake, Ocean, Reservoir,
River, Riverbank, Stream
Flying
Farm, Farmland, Farmyard, Forest, Garden, Grass, Nature Reserve, Park,
Wood
Rock
Building, Landmass, Highway, Industrial, Parking, Quarry, Railway,
Urban Area
Ground
Landmass, Ditch, Land, Parking, Playground, Railway, Taxiway, Urban
Area
Fairy
POIs, Cemetery, Place of Worship
Dark
Cemetery, Cinema, Theatre
Steel
Building, Railway
Dragon
POIs
Ghost
Cemetery
Ice
Glacier
Psychic
Hospital?
Electric
Industrial
Fire
Residential?
Poison
Wetland
Best Answer
Update
As updates have been released, the search function has been expanded. This image shows all of the ways you can filter your search:
(Image originally posted here)
At the time of the introduction of the search function, this is what was available:
This site has all of the search bar filters listed. From the site, the filters you can search by are:
Name: Searching by nickname will return that individual Pokémon. Searching by species name will return all Pokémon of a species, ignoring nicknames.
Type: Searching by "type" or "type, type" (can also use a semicolon or colon) will return all Pokémon with that typing (multiple types will return all of type A and all of type B, not only Pokémon with typing A/B, though those would show up as well).
Species group: Searching by "+species" will return all Pokémon in that evolutionary chain. It doesn't matter which Pokémon in the chain you search for. "+Bulbasaur" returns the same results and "+Ivysaur".
Note: This has been noted to only work for Pokémon you currently have in your Box when you do the search. If you do not have Kakuna in your Box, but have Beedrill and Weedle, then "+kakuna" would return no results, while "+weedle" and "+beedrill" would return themselves and each other.
Pokédex Number: Searching by a number or range of numbers will return all Pokémon that match the criteria. e.g. "1" will return Bulbasaur, whereas "1-3" would return Bulbasaur-Venusaur.
CP and HP: Searching for CP/HP number ranges is done by searching for "cp###-###" or "hp###-###" and will return all Pokémon with CP/HP in the queried range.
Evolution: Simply searching "evolve" will display only Pokémon that are currently able to be evolved. Currently, this will display Pokémon who cannot evolve due to not having an evolutionary item, but this will be fixed in the future.
Other rules:
You can combine searches by partitioning them with commas, semicolons, or colons.
The search bar doesn't care about whitespace between terms. "cp ###" works the same as "cp###".
Specifying ranges can be done in either ascending or descending order. The results will be the same for "cp10-150" as "cp150-10".
If playing Pokémon Go in a language other than English, search terms must be used the way they are displayed. That is "evolve" won't work when playing the game in German.
Letters with accents are distinct from letters without them, so if a Pokémon's name or other search term is accented, you must use the accented character for the search to return the proper results.
(additional findings from here)