Is the number of subgroups of an infinite abelian group always infinite ?
( or Is there any infinite abelian group having only finite number of subgroups ? )
Yes. This is trivially true if the abelian group is not finitely generated (just take the cyclic groups generated by each generating element). In the case where your infinite abelian group is finitely generated, the fundamental theorem of finitely generated abelian groups shows that Z (which has infinitely many subgroups) is a subgroup of your group.
Less precisely, but more intuitively, just take the cyclic groups generated by each element of your infinite abelian group.