It's not exactly simpler, but it is a single node now:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,calc,backgrounds}
\newlength{\tempdima}
\newlength{\tempdimb}
\tikzset{storage gap/.initial=1em}
\pgfdeclareshape{storage}{
\savedanchor{\northeast}{
\setlength{\tempdima}{\pgfkeysvalueof{/tikz/storage gap}}
\tempdima=0.5\tempdima
\tempdimb=\tempdima
\addtolength{\tempdima}{\pgfkeysvalueof{/pgf/inner xsep}}
\addtolength{\tempdimb}{\pgfkeysvalueof{/pgf/inner ysep}}
\pgfpoint{\dimexpr \tempdima + .5\wd\pgfnodeparttextbox}{\dimexpr \tempdimb + 0.5\ht\pgfnodeparttextbox +.5\dp\pgfnodeparttextbox}}
\savedanchor{\southwest}{
\setlength{\tempdima}{\pgfkeysvalueof{/tikz/storage gap}}
\tempdima=0.5\tempdima
\tempdimb=\tempdima
\addtolength{\tempdima}{\pgfkeysvalueof{/pgf/inner xsep}}
\addtolength{\tempdimb}{\pgfkeysvalueof{/pgf/inner ysep}}
\pgfpoint{\dimexpr -\tempdima -.5\wd\pgfnodeparttextbox}{\dimexpr -\tempdimb -.5\ht\pgfnodeparttextbox -.5\dp\pgfnodeparttextbox}}
\anchor{center}{\pgfpointorigin} % within the node, (0,0) is the center
\inheritanchorborder[from=rectangle]
\inheritanchor[from=rectangle]{north}
\inheritanchor[from=rectangle]{north west}
\inheritanchor[from=rectangle]{north east}
\inheritanchor[from=rectangle]{center}
\inheritanchor[from=rectangle]{west}
\inheritanchor[from=rectangle]{east}
\inheritanchor[from=rectangle]{mid}
\inheritanchor[from=rectangle]{mid west}
\inheritanchor[from=rectangle]{mid east}
\inheritanchor[from=rectangle]{base}
\inheritanchor[from=rectangle]{base west}
\inheritanchor[from=rectangle]{base east}
\inheritanchor[from=rectangle]{south}
\inheritanchor[from=rectangle]{south west}
\inheritanchor[from=rectangle]{south east}
\anchor{text} % this is used to center the text in the node
{\setlength{\tempdima}{\pgfkeysvalueof{/tikz/storage gap}}
\pgfpoint{\dimexpr 0.5\tempdima -.5\wd\pgfnodeparttextbox}{\dimexpr -0.5\tempdima -.5\ht\pgfnodeparttextbox+.5\dp\pgfnodeparttextbox }}
\backgroundpath{% draw border etc
\pgfpathrectanglecorners{\southwest}{\northeast}
\pgfextractx{\tempdima}{\southwest}
\pgfextracty{\tempdimb}{\southwest}
\addtolength{\tempdima}{\pgfkeysvalueof{/tikz/storage gap}}
\pgfpathmoveto{\pgfpoint{\tempdima}{\tempdimb}}
\pgfextracty{\tempdimb}{\northeast}
\pgfpathlineto{\pgfpoint{\tempdima}{\tempdimb}}
\addtolength{\tempdimb}{-\pgfkeysvalueof{/tikz/storage gap}}
\pgfextractx{\tempdima}{\southwest}
\pgfpathmoveto{\pgfpoint{\tempdima}{\tempdimb}}
\pgfextractx{\tempdima}{\northeast}
\pgfpathlineto{\pgfpoint{\tempdima}{\tempdimb}}
}}
\begin{document}
\begin{tikzpicture}[auto]
\tikzstyle{process} = [rectangle, draw, thick, align=center]
\tikzstyle{internalStorage} = [storage,draw, thick, align=center]
\tikzstyle{line} = [draw, thick, -triangle 45];
\matrix [column sep={10mm},row sep=10mm]{
& \node [process] (generate) {process}; & \\
& \node [internalStorage,fill=white,text width=1in] (split) {internal storage\\ internal storage}; & \\
};
\tikzstyle{every path}=[line]
\path (generate) -- (split);
\begin{scope}[on background layer]
\draw [draw=none,fill=green!15] ($(generate.north west)+(-1.2cm,0.4cm)$) node[anchor=north west] {Fig. 7} rectangle ($(split.south east)+(0.8cm,-0.1cm)$);
\end{scope}
\end{tikzpicture}
\end{document}
