I can't seem to get the last part of my proof to feel right, so here's my shot at it:
$(\mathbb{Z},\leq)$ has the least upper bound property. To show this, let A be a nonempty subset of $\mathbb{Z}$ that is bounded above. Then there is an integer $x$ such that for every $a\in A$, $a\leq x$. We claim that $x=\sup{A}$. Suppose not, taking $y=\sup{A}$, where $y<x$. Then $x-1\leq y\leq x$. However, as $x,y\in \mathbb{Z}$, this is a contradiction. Thus $x=\sup{A}$.
Your proof cannot be right. You claim that if $x$ is any upper bound of $A$, then $x=\sup A$. So if, say, $A=\{-2,3,15\}$ and if you take $x=10^{100}$ then since $x$ is an upper bound of $A$, $\sup A=10^{100}$. You don't believe that, do you? One of the problems with your proof takes place when you write “taking $y=\sup A$”. How do you know that such a $y$ exists? Isn't the existence of $\sup A$ what you are trying to prove?
One way of proving the statement is this: let $a\in A$ and let $n$ be an upper bound of $A$. You can prove the statement ($\sup A$ exists) by induction on $n-a$. If $n-a=0$, then $n\in A$ and therefore $n=\sup A$. Now, fix $k\in\mathbb{Z}^+$ and suppose that the statement holds when $n-a=k$. Suppose that, for a certain $A$, $n-a=k+1$. Then either $n\in A$ or $n\notin A$. If $n\in A$, then $n=\sup A$. Otherwise, let $n'=n-1$. Then $n'$ is an upper bound of $A$ and, since$$n'-a=n-1-a=n-a-1=k+1=1=k,$$by the induction hypothesis, $\sup A$ exists.