Since you're not sure about specifying a width, you can box the tabular content and let LaTeX extract the width. Here is such an approach:
Boxing the tabular is performed using the lrbox environment:
\begin{lrbox}{<box cmd>}
...
\end{lrbox}
where <box cmd> is defined using \newsavebox{<box cmd>}. In my MWE (see below), I've used \mytabular. Then you can box the entire contents of the "keep stuff together" inside a minipage of width \linewidth. This way it will stretch the entire text block width, even though you might only use a portion of it.
The width of the boxed tabular \mytabular is accessed using \wd\mytabular (similarly, \ht\mytabular would be the height, while \dp\mytabular would be the depth). With the tabular saved, \usebox{\mytabular} typesets it.

\documentclass{article}
%\usepackage{varwidth}% http://ctan.org/pkg/varwidth
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\newsavebox{\mytabular}% Capture a tabular in a box
\begin{document}
\lipsum[1-4]% dummy text
\noindent\begin{minipage}{\linewidth}
\centering
\begin{lrbox}{\mytabular}% Store tabular in \mytabular
\begin{tabular}{llcrr}
\hline
Heading 1 & Heading 2 & Title & Heading 3 & Heading 4 \\ \hline
stuff & stuff & some more stuff & stuff & stuff \\
stuff & stuff & some more stuff & stuff & stuff \\
stuff & stuff & some more stuff & stuff & stuff \\ \hline
\end{tabular}
\end{lrbox}
\begin{minipage}{\wd\mytabular}
\usebox{\mytabular}% Print tabular
\lipsum[1]% dummy text/"caption"
\end{minipage} \par
\kern\textfloatsep% Make this seem like a "float"
\end{minipage}
\lipsum[5-9]% dummy text
\end{document}
Modifications to the width of the "caption" and the vertical gap below the "caption" is possible.
I've commented out the varwidth package since it's use does not seem required here. However, if your request is modified, it might be.
tabularenvironment." If this is the case, and the location of the "associated text" is known, boxing them seems to be the option. You can either do this using aminiboxenvironment (with a fixed/full width of\linewidth) or perhaps avarwidthenvironment from thevarwidthpackage.varwidthis likeminipage, but allows to shrink to the content's natural width. If this does not seem to be an option, please elaborate on your requirement. – Werner Nov 03 '11 at 20:27