ConTeXt: Eliminate topspace and bottomspace

You can use height=fit (see Wiki - setuplayout), which stretches the text height to its maximum, pushing the footer including page number all the way down. Since you probably do not want the text height to be that large, you can increase the footerdistance. Example:

\setuplayout
  [topspace=\zeropoint,
    height=fit,
    footerdistance=2cm]

\setuppagenumbering
  [location={footer, right}]

\showframe
\starttext
  \null
\stoptext

screenshot

To shift the page number to the right, you can move it into the margin using

\setuppagenumbering
  [location={footer, right, margin}]

Marco has already given an answer to your question, but let me illustrate another way to visually achieve the same result.

Layers are a convenient way to place something at a particular location on a page. For example, to place the page number at the very bottom of the page, you can use

\setuppapersize[A6]

\definelayer
  [pagenumber]
  [
    width=\paperwidth,
    height=\paperheight,
    preset=rightbottom,
  ]

\setupbackgrounds[page][background=pagenumber, setups=setpagenumber]

\startsetups setpagenumber
  % Set the page number to be (2em, \lineheight) from the bottom right corner 
  % Note the `preset=rightbottom` above.
  %
  % The 2nd set of optional arguments are for the frame. For illustration I change
  % the color and font of the page number
  \setlayerframed
    [pagenumber]
    [
      x=2em,
      y=\lineheight,
    ]
    [
      frame=on,
      foregroundcolor=red,
      foregroundstyle=bold,
    ]
    {\pagenumber}
\stopsetups

% Disable default page numbering
\setuppagenumbering[location=]

\starttext
\input knuth
\input knuth
\input knuth
\stoptext

which gives

enter image description here

This approach is useful if you need to place the page number in a non-conventional place (as done in many of the ConTeXt manuals).