How can we verify if a function is indeed a one way function? How do we show that the addition function f (x, y) = x + y (where |x| = |y| and
x and y are interpreted as natural numbers) is not one-way?

I can see that the idea is to find any pair x and y which add up to x+y. But how do we ensure that the lengths are same i.e. |x| = |y| ?
First we need to precisely define what this function is. You don't give enough details, so I'm going to go with this.


  The function $f$ takes as input a string of even length $n = 2m$. It interprets each half as an unsigned $m$-bit integer, computes their sum, and outputs it as an unsigned $m+1$-bit integer.


So the function is defined only on inputs of even length; however this is not a problem because if we need a function defined on all inputs, we can just drop the last bit when the input length is odd.

The one-wayness game is as follows, on security parameter $n = 2m$:


A string $x$ of length $n$ is chosen uniformly.
$y = f(x)$ is computed.
The adversary is invoked with input $(y,1^n)$, and outputs a string $x'$.


The adversary wins if $f(x') = y$. In order to show that $f$ is not one-way, we must show that there is an adversary $A$ and a polynomial $p$ such that for infinitely many $n$, $A$ wins with probability at least $1/p(n)$. We will construct an adversary $A$ which wins with probability $1$ for all $n$.

Since $y = f(x)$ for a uniformly chosen $x$ of length $n$, it is the sum of two uniform integers in $\{0,\dots,2^m-1\}$. Thus $y$ will be an integer in $\{0,\dots,2^{m+1}-2\}$. $y$ will not be uniformly distributed (think of how the sum of two dice is more likely to be 7 than 12), but this is not a problem because our $A$ will win with probability $1$ for all values of $y$.

$A$ works as follows. If $y$ is even, it outputs $x' = (y/2,y/2)$, and otherwise it outputs $x' = ((y+1)/2,(y-1)/2)$. In both cases, it zero-pads each half so that it is of length $m$. It is clear than in each case we have $f(x') = y$, so the adversary always wins.