The only place it's ever available in the game is the interior of Mt. Silver, at a far lower level than any other wild Pokemon you run into there, and you can't get much later in the game than that. If you were playing Crystal, you could buy one from the Celadon game corner, which conveniently starts at level 40 so it only needs one level-up to become Pupitar.