Someone on another forum just explained it to me. I'll post the explanation here so that others who are stuck about that may know the answer:
First, flip the byte order (0x4000 instead of 0x0040).
Second, go to windows calculator and in hex mode, type 4000 click the "and" button, and type 3FFF. The result is, in this case, 0 (Bulbasaur start the bank).
Third, the bank is 0x0D, according to the Bulbapedia article, for Bulbasaur, whose id is 0x99.
0x0D left shift 14 (0x0E) means multiply 0x0D * 2 ^ 0x0E which is 0x34000. Add the result of the first part (0) to get 0x34000 as the address he's located at.