No, you cannot buy rare candies in Pokemon GO. Pokemon rare candy is a special item that can only be obtained by participating in field research, raid battles, and trainer battles. It is not sold in the Pokemon Shop. In addition, you can collect rare candy XL as a reward for reaching levels 41 to 49. This is another way for how to get rare candy in Pokemon GO is by leveling up.