POKEMON DIAMOND AND PEARL:
You can get oddish in Pokemon diamond and pearl when you finish your adventure, and that means that you beat the champion. After that, you have to get the national pokedex from professor oak. if you have battled all of the trainers along your journey, your sinnoh pokedex should be complete. go to professor rowan, and talk to him. then, professor oak will come and give you your national pokedex. now you can catch an oddish! but first, go to snowpoint city. talk to the guy near the boat, and he will take you to the battle zone in the little island near the sinnoh region. first you have to go to the resort area. Go north from there and then you will be in a route. you can catch oddish as well as the evolved form of oddish there.
you can get oddish in Pokemon heartgold in the ilex forest.