بسم الله الرحمن الرحيم
(1) Whether it shall harm the non-Muslim or not, but it shall certainly harm you if you will use it to give as gift. In short, it is not right to give it as gift. However, if he is poor then you may give him in charity without the intention of reward.
(2) It is obvious that you will get reward if you buy a gift from halal amount and then give in charity to a poor.
Allah knows Best!
Darul Uloom Deoband