Seems that this is possible. Here is a (non-constructive) proof. 
Suggestions are welcome.

The proof is inspired by [Mazurkiewicz's argument][1]. This is second version
of the proof: it includes improvements in
the set-theoretic argument suggested by Joel David Hamkins, and also 
hopefully clarifies some issues
raised in comments. Thanks for the comments!

Goal: Construct a commutative group structure $\star$ on non-negative 
reals
${\mathbb R}^{\ge 0}$ such that $x\star y\le x+y$ and $x\star x=0$.

Remark: Note that $0$ is automatically a neutral element, and that such a 
commutative group is in fact
a vector space over ${\mathbb F}_2$. Also, we automatically have the 
triangle inequality:
$$x\star z=x\star y\star y\star z\le x\star y+y\star z.$$

Step 1: Let us order ${\mathbb R}^{\ge 0}$ in order type $c$ (continuum). Equivalently,
we choose a bijection $\iota:[0,c)\to{\mathbb R}^{\ge 0}$, where $[0,c)$ is the set
of ordinals smaller than $c$. Note that for any $ \alpha < c $, we have
$$|\iota([0,\alpha))| < c.$$

We may choose $\iota$ so that $\iota(0)=0$, although 
it is not strictly necessary.

Plan: For every $\alpha\le c$, we will construct a subset 
$S_\alpha\subset {\mathbb R}^{\ge 0}$ and a group operation
$\star:S_\alpha\times S_\alpha\to S_\alpha$. The group operation will have the 
required properties: $S_\alpha$ is
a vector space over ${\mathbb F}_2$ with $0$ being the neutral element, 
and $x\star y\le x+y$. Besides
it will also have the additional property that $S_\alpha$ is generated as 
a group by $\iota([0,\alpha))$
(in particular, the image is contained in $S_\alpha$). Moreover, if 
$\beta\prec\alpha$, $S_\beta$ is a subgroup
of $S_\alpha$.

In particular, we get a group structure with required properties on $S_c={\mathbb R}^{\ge 0}$, 
as claimed. 

Step 2: The construction proceeds by transfinite recursion. The base is 
$S_0=\lbrace 0\rbrace$ (generated by the empty set).

Step 3. Let us now define $S_\alpha$ assuming that $S_\beta$ is already defined for 
$\beta<\alpha$. If $\alpha$ is a limit ordinal, take
$$S_\alpha=\bigcup_{\beta<\alpha}S_\beta.$$
Therefore, let us assume $\alpha=\beta+1$. 

If $\iota(\alpha)\in S_\beta$, take $S_\alpha=S_\beta$.

Step 4. It remains to consider the case when $\alpha=\beta+1$ but $\iota(\alpha)\not\in S_\beta$.
Since $I=\iota([0,\beta))$ generates $S_\beta$,  
the cardinality of $S_\beta$ is at most the cardinality of the set 
of finite subsets of $I$. Therefore, $|S_\beta|<c$.

Fix a number $k$ between $0$ and $1$, to be chosen later. Define a 
function $f:{\mathbb R}^{\ge 0}\to{\mathbb R}^{\ge 0}$ by
$$f(x)=\cases{\alpha+k x,&x\le\alpha\cr x+k\alpha,&x>\alpha}.$$
Now choose $k$ so that $f(S_\beta)\cap S_\beta=\emptyset$. This is possible because 
for every $x,y\in S_\beta$, the equation $f(x)=y$ has at most one solution in 
$k$, so the set of prohibited values of $k$ has cardinality at most 
$|S_\beta\times S_\beta|$. (We can use $\iota$ to well-order the interval $(0,1)$;
we can then choose $k$ to be the minimal acceptable value, so as to remove arbitrary choice.)


Step 5. Now define $S_\alpha=S_\beta\cup f(S_\beta)$ and set $\iota(\alpha)\star x=f(x)$ for 
$x\in S_\beta$. The product naturally extends to all of $S_\alpha$:
$$f(x)\star f(y)=x\star y\qquad f(x)\star y=y\star f(x)=f(x\star y).$$
It is not hard to see that it has the required properties.

First of all, $S_\alpha$ is an isomorphic image of $S_\beta\times({\mathbb Z}/2{\mathbb Z})$;
this takes care of group-theoretic requirement. It remains to 
check two inequalities:

Step 5a: $$f(x)\star f(y)\le f(x)+f(y)\quad(x,y\in S_\beta),$$
which is true because $f(x)\ge x$, so
$$f(x)\star f(y)=x\star y\le x+y\le f(x)+f(y).$$

Step 5b: $$f(x)\star y\le f(x)+y\quad(x,y\in S_\beta),$$
which is true because $f$ is increasing and $f(x+t)\le f(x)+t$, so
$$f(x)\star y=f(x\star y)\le f(x+y)\le f(x)+y.$$

That's it.


   [1]: http://www.mathnerds.com/best/Mazurkiewicz/solution.aspx