Seems that this is possible. Here is a (non-constructive) proof. Suggestions are welcome.
The proof is inspired by Mazurkiewicz's argumentMazurkiewicz's argument. 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 $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{\iota(\alpha)+k x, \ x \le \iota(\alpha)\cr x+k \iota(\alpha), \ x > \iota(\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.