One thing to keep in mind is that you will likely want something that allows you to specify the width of the full field (including label) for alignment purposes. morbusg's solution works this way as do my solutions:
% GENERAL USAGE: \COMMAND[width]{text}
\def\entrywithlabel[#1]#2{\parbox{#1}{{\small #2:} \hrulefill}}
\def\entrywithlabelunder[#1]#2{\parbox{#1}{\hrulefill\\[-.75ex]\centerline {#2}}}
\def\entrywithlabelraised[#1]#2{\parbox{#1}{\smash{\raise-1ex\hbox{{\tiny #2}}}\hrulefill}}
\def\boxentry[#1]#2{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox{#1}{\smash{\raise-6.5pt\hbox{~{\tiny #2}}}\vspace{2ex}\mbox{}}}}}
\def\boxpar[#1]#2#3{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox[][#2][t]{#1}{\mbox{}\\[-.125\baselineskip]\mbox{}~#3}}}}
I also like to use a \dynTable command for automatically generating blank table rows:
% Usage: \dynTable{\begin{tabular}{tablespec}}{# repetitions}{rows}{\end{tabular}}
\makeatletter
\newcommand*{\InitToks}{\toks@={}}
\newcommand{\AddToks}[1]{\toks@=\expandafter{\the\toks@ #1}}
\newcommand*{\PrintToks}{\the\toks@}
\newcount\rowNo
\newcommand*{\dynTable}[4]{%
\begingroup
\InitToks\AddToks{#1}%
\rowNo=0 %
\loop\ifnum\rowNo<#2\relax\advance\rowNo by 1
\expandafter\AddToks\expandafter{#3}%
\repeat
\AddToks{#4}\PrintToks
\endgroup}
\makeatother
A sample end-of-month allocation worksheet:
\documentclass[11pt,letterpaper]{article}
\usepackage[centering,width=7.5in,height=9.5in]{geometry}
\usepackage[parfill]{parskip}
\pagestyle{empty}
% GENERAL USAGE: \COMMAND[width]{text}
\def\entrywithlabel[#1]#2{\parbox{#1}{{\small #2:} \hrulefill}}
\def\entrywithlabelunder[#1]#2{\parbox{#1}{\hrulefill\\[-.75ex]\centerline {#2}}}
\def\entrywithlabelraised[#1]#2{\parbox{#1}{\smash{\raise-1ex\hbox{{\tiny #2}}}\hrulefill}}
\def\boxentry[#1]#2{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox{#1}{\smash{\raise-6.5pt\hbox{~{\tiny #2}}}\vspace{2ex}\mbox{}}}}}
\def\boxpar[#1]#2#3{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox[][#2][t]{#1}{\mbox{}\\[-.125\baselineskip]\mbox{}~#3}}}}
% Usage: \dynTable{\begin{tabular}{tablespec}}{# repetitions}{rows}{\end{tabular}}
\makeatletter
\newcommand*{\InitToks}{\toks@={}}
\newcommand{\AddToks}[1]{\toks@=\expandafter{\the\toks@ #1}}
\newcommand*{\PrintToks}{\the\toks@}
\newcount\rowNo
\newcommand*{\dynTable}[4]{%
\begingroup
\InitToks\AddToks{#1}%
\rowNo=0 %
\loop\ifnum\rowNo<#2\relax\advance\rowNo by 1
\expandafter\AddToks\expandafter{#3}%
\repeat
\AddToks{#4}\PrintToks
\endgroup}
\makeatother
\begin{document}
\entrywithlabel[.45\hsize]{Month}\hfill \entrywithlabel[.45\hsize]{Year} \entrywithlabel[.45\hsize]{Submitter}\hfill \entrywithlabel[.45\hsize]{Date} \begin{center}
\def\h#1{\multicolumn{1}{c|}{\bfseries #1}}
\def\H#1{\multicolumn{1}{|c|}{\bfseries #1}}
\def\arraystretch{1.5}
\dynTable{%
\begin{tabular}{@{}|@{}p{3in}@{}|@{}p{.75in}@{}|@{}p{.75in}@{}|@{}p{3in}@{}|@{}}\hline
\H{Account} & \h{Debit} & \h{Credit} & \h{Project}\\\hline\hline
}{25}{ &&&\\\cline{2-4} }{&&&\\\hline\end{tabular}}
\end{center}
\end{document}

A fancier performance report that uses boxentry and entrywithlabelunder
\documentclass[11pt,letterpaper]{article}
\usepackage[centering,width=7in,height=10in]{geometry}
\usepackage[parfill]{parskip}
\usepackage{array,tabularx}
\renewcommand{\title}[2][]{\begin{center}\sffamily\bfseries\Large #2\ifx\relax#1\else\\\normalsize #1\fi\end{center}\vspace{1ex}}
\pagestyle{empty}
% GENERAL USAGE: \COMMAND[width]{text}
\def\entrywithlabel[#1]#2{\parbox{#1}{{\small #2:} \hrulefill}}
\def\entrywithlabelunder[#1]#2{\parbox{#1}{\hrulefill\\[-.75ex]\centerline {{\small #2}}}}
\def\entrywithlabelraised[#1]#2{\parbox{#1}{\smash{\raise-1ex\hbox{{\tiny #2}}}\hrulefill}}
\def\boxentry[#1]#2{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox{#1}{\smash{\raise-6.5pt\hbox{~{\tiny #2}}}\vspace{2ex}\mbox{}}}}}
\def\boxpar[#1]#2#3{{\setlength{\fboxsep}{-\fboxrule}\fbox{\parbox[][#2][t]{#1}{\mbox{}\\[-.125\baselineskip]\mbox{}~#3}}}}
\begin{document}
\title{Performance Report}
\boxentry[.5\hsize]{Employee Name}\boxentry[.5\hsize]{Job Title}\\[-1.5pt]
\boxentry[.5\hsize]{Salary}\boxentry[.5\hsize]{Date Hired}\\[-1.5pt]
\boxentry[.5\hsize]{Reviewer Name}\boxentry[.5\hsize]{Date of Review}
{ \setlength{\extrarowheight}{-3pt}
\def\arraystretch{3}
\def\row#1{#1&&\\\hline}
\begin{tabularx}{\hsize}{|l|c|X|}\hline
\multicolumn{1}{|c|}{\textbf{Category}} & \textbf{Grade} & \mbox{}\hfill\textbf{Comments}\hfill\mbox{}\\\hline
\row{Attendance/Punctuality}
\row{Work Attitude}
\row{Mathematical Quality}
\row{Independence}
\row{Pedagogical Skill}
\row{Interpersonal Skill}
\end{tabularx}
}
\boxpar[\hsize]{2in}{Reviewer Summary {\small (provide attachments if additional details required)}:}\\[-1.5pt]
\boxpar[\hsize]{2in}{Goals:}
\vfill
\entrywithlabelunder[.45\hsize]{Employee Signature}\hfill\entrywithlabelunder[.45\hsize]{Reviewer Signature}\\[-\baselineskip]
\end{document}

Name ________in your source wouldn't work at any rate because the underscore charater_needs to be escaped with a backslash, so it'd beName \_\_\_\_\_\_\_\_. – doncherry Jun 03 '11 at 17:53