I totally forgot about this question, sorry and here is my attempt after reading the hints:
An example of n points on the plane (not all co-linear) such that distance between any 2 points is an integer:
Choose $ (N,0); (0, a_1); (0, a_2)...(0, a_{n-1} )$ with $ N > 0; a_i \neq a_j$ , all are integers where $a_i=N\frac{u_i^2-v_i^2}{2u_iv_i} $; $u_i , v_i \in \mathbb{N}$ and N is the least common multiple of $2u_iv_i$.
n-1 points $(0, a_i)$are on the same line Oy and their inter-distance are all integers. Also distance $d_i = \sqrt{N^2+a_i^2}=N\frac{u_i^2+v_i^2}{2u_iv_i}$ between $(N,0)$ and n-1 other points is also an integer.
Another example, consider n points $\exp(2ni\theta)$ in the complex plane where $cos \theta $ and $sin \theta $ are both rational, and no two points coincide (such choice is always possible since $x^2+y^2 =1$ has infinite number of rational solutions). The distance between any 2 points j,k is $d_{j-k}= 2\sin (j-k)\theta $ which is just a polynomial of $\sin \theta $ and $ \cos \theta$ since j-k is an integer. Then $d_{j-k} $ is rational for all pairs j,k. Thus n points $ N exp(2ni\theta) $ where N is the least common multiple of the denominators of $d_{j-k} $ are the points we need.
Now, if there exists 3 non-co-linear points A,B,C, we prove that there are only finite points that have integer distance to all these 3 points (and therefore any infinite set of points that have all integer distances must lie in a single line).
Assume P on the plane s.t PA, PB, PC are all integers. Triangle inequality implies $|PA-PB| \leq AB $, and since $PA - PB$ is a positive integer, it has a finite set of values: $|PA-PB| = i$ means P is on a hyperbola with axis AB, and there are finitely many such curves. Similarly, P also belongs to some hyperbolas with axis BC,CA. Since A,B,C are non-co-linear, these curves are pairwise different. P is intersection of 3 curves, with axis AB, BC and CA respectively. There are only finite number of curve, thus there are finite number of intersections.
Thanks everyone ~