For your first question yes, that works perfectly fine and gets the job done right. However, you can speed up the process by having your Pokemon hold one of these items, or if it has Pokerus. They are explained in that link too.
Effort values (abbreviated EVs and previously called Stat Exp), officially called base stats (Japanese: きそポイント base point), are attributes which give bonuses to a Pokémon's stats and improve differently depending which Pokémon they defeat. These bonuses, in the form of effort points, are gained in addition to bonuses gained by increasing level. A Pokémon which increases in level using a Rare Candy instead of battling does not gain any EVs, making it weaker than a Pokémon who increases in level normally.
Since Generation III, effort points have been completely separate values from base stats. Defeated Pokémon give out 1, 2 or 3 effort points to a particular stat, depending on species (see list of Pokémon by effort value yield). However, in battles that do not give any experience (such as in the Battle Tower or if the Pokémon is level 100), Pokémon will not gain any effort points. At level 100, a Pokémon's stats will be one stat point higher in a specific stat for every four effort points gained in that stat.
Pokémon are limited to a total of 255 effort points per stat, and 510 effort points in total. However, since stats are calculated by dividing effort by 4 and disregarding the remainder, only 252 effort points are required to maximize a stat.
Vitamins add 10 effort points, but cannot raise a stat above 100, or raise the total above 510.