You want to save the value of \fboxsep and not its meaning. If you
\show\fboxsep
the answer will be
\fboxsep=\dimen36
In particular, \fboxsep is not a macro, so doing \let\foo\fboxsep will simply define \foo to be the same as \dimen36.
You can still do without defining a new length, by using the mighty \the (see The \the command):
\edef\savedfboxsep{\the\fboxsep} % 3pt by default
\setlength{\fboxsep}{8pt}
\fbox{\begin{minipage}{.9\textwidth}
\setlength{\fboxsep}{\savedfboxsep}
Text\fbox{Box}Text
\end{minipage}}
When the inner \setlength instruction is performed, TeX will translate it into
\fboxsep=\savedfboxsep\relax
and it will expand \savedfboxsep because after = TeX is looking for a specification.
A possibly better way for realizing the same construction is using a box:
\newsavebox{\fminipagebox}
\newenvironment{framedminipage}
{\begin{lrbox}{\fminipagebox}\begin{minipage}}
{\end{minipage}\end{lrbox}%
\setlength{\fboxsep}{8pt}%
\fbox{\usebox{\fminipagebox}}}
The setting of \fboxsep to 8pt will be undone as soon as the framedminipage environment ends; it doesn't influence any \fbox command inside the environment, because that text has already been typeset.
Note that, since the \begin part ends with \begin{minipage}, you can (and should) specify the same arguments as if it were minipage, including optional ones.
\documentclass{article}
\usepackage{lipsum}
\newsavebox{\fminipagebox}
\newenvironment{framedminipage}
{\begin{lrbox}{\fminipagebox}\begin{minipage}}
{\end{minipage}\end{lrbox}%
\setlength{\fboxsep}{8pt}%
\fbox{\usebox{\fminipagebox}}}
\begin{document}
\lipsum[2]
\medskip
\begin{framedminipage}{.9\textwidth}
Text\fbox{Box}Text
\end{framedminipage}
\medskip
\lipsum[3]
\end{document}

\letis used for command (macro) definitions only, not lengths. – Paul Gessler Jun 30 '14 at 02:11