First, for cryptographic purposes we will always want to work in groups of finite order. Now suppose that we have a pairing $e(.,.)$ that bilinearly maps pairs of elements of an abelian groups $G_1$ and $G_2$ to $r$th roots of unity in some field. Considering cosets of the subgroup $rG_1$, we can write any element of $G_1$ in the form $rP+R$ where the coset representative $R$ is in the $r$-torsion subgroup. Now pick any other element $S\in G_2$
By bilnearity, we have
$$e(rP+R,S) = e(rP,S)e(R,S)=e(P,S)^re(R,S)=e(R,S)$$
so that the pairing depends only on $R$. A similar argument applies to $G_2$. Thus even if we can adapt the construction of $e(.,.)$ to the whole group, there is no security benefit and the additional information in $P$ could be a malicious channel.
Theres no reason that $r$ cannot be composite, but the cryptographic strength of the pairing is no greater than the difficulty of a generic group or order $r$ which (by Pohlig-Hellman) is no greater than the square-root of the largest prime factor of $r$, with partial information being available for smaller subgroups with less work. Thus taking $r$ to be prime is the most efficient construction.