Is there a way to add reusable metadata to the exam class?

As I still don't know what you want, here's what I think you might want (<- good example for bad kerning, ay?).

Code

\documentclass[answers]{exam}
\usepackage{pifont}
\usepackage{xifthen}
\usepackage{tikz}
\usepackage{makeidx}
\usepackage[columns=1]{idxlayout}
\makeindex
\usepackage[colorlinks]{hyperref}

\newcommand{\difflevel}[3][]% [some words], diff from 1 to 5, short question title
{ \ifthenelse{#2=1}{\xdef\mycolor{blue!50!gray}}{}
    \ifthenelse{#2=2}{\xdef\mycolor{green!50!gray}}{}
    \ifthenelse{#2=3}{\xdef\mycolor{yellow!50!gray}}{}
    \ifthenelse{#2=4}{\xdef\mycolor{orange!50!gray}}{}
    \ifthenelse{#2=5}{\xdef\mycolor{red!50!gray}}{}
    \pgfmathtruncatemacro{\dingnum}{201+#2}
    \tikz{\node[text width=\textwidth,inner sep=2pt] {\textcolor{\mycolor}{\ding{\dingnum}} #1};}
    %\index{Difficulty!1!#3@\ding{\dingnum}}
    \index{Difficulty!\ding{\dingnum}!#3}
}

\newenvironment{usefulstuff}{\textbf{Important concepts\\}}{}

\newcommand{\usefulconcept}[3]% label, linked text, further info
{   \tikz{\node[text width=\textwidth,inner sep=2pt] {$\bullet$ \hyperref[#1]{\textbf{#2}} #3};}
}

\begin{document}

\begin{questions}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[A particularly easy question]{1}{The first bogus question}
    \begin{usefulstuff}
        \usefulconcept{th.pythagoras}{The Pythagorean theorem}{is important here as there is a right angle in the triangle}
    \end{usefulstuff}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[Quite easy, if you listened in the lecture]{2}{The second bogus question}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[A little challenge, but you'll have to think carefully]{3}{The bogus question between second and fourth}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[Quite a challenge]{4}{The bogus question after the third}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[The question that will determine weather you're a PRO]{5}{The bogus question number five}
    \begin{usefulstuff}
        \usefulconcept{th.thales}{The theorem of Thales}{will be usefull as there's a semi circle involved.}
    \end{usefulstuff}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[A particularly easy question]{1}{The 6$^{th}$ bogus question}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[The question that will determine weather you're a PRO]{5}{The bogus question number seven}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\question[12] Did you need this?
    \begin{solution}\\
    \difflevel[A little challenge, but you'll have to think carefully]{3}{The bogus question between seventh and 9$^{th}$}
    \begin{usefulstuff}
        \usefulconcept{th.pythagoras}{Quantum mechanics}{need to be used as something really strange is going on.}
    \end{usefulstuff}
    Once upon a midnight dreary, while I pondered, weak and weary,
    Over many a quaint and curious volume of forgotten lore--- While I
    nodded, nearly napping, suddenly there came a tapping, As of some
    one gently rapping, rapping at my chamber door. ‘‘\,’Tis some
    visitor,’’ I muttered, ‘‘tapping at my chamber door--- Only this
    and nothing more.’’
    \end{solution}

\end{questions}

\clearpage

{\fontsize{20}{24}\selectfont\noindent Important Concepts}
\begin{description}
    \item[Pythagorean theorem]\label{th.pythagoras}\index{Concept!Theorem!Pythagorean theorem} $a^2+b^2=c^2$
    \item[Thales' theorem]\label{th.thales}\index{Concept!Theorem!Thales' theorem} if A, B and C are points on a circle where the line AC is a diameter of the circle, then the angle ABC is a right angle.
    \item[Quantum mechanics]\label{pt.quantum}\index{Concept!Theory!Quantum mechanic} Tiny particles behave unexpectedly
\end{description}

\clearpage

\printindex

\end{document}  

Result

enter image description here


Some days ago ExSheets was uploaded to CTAN. After a quick reading it looks promising. It allows to add meta-data to the exercises and use them for filtering questions.

Part of manual abstract:

ExSheets provides means to create exercises or questions and their corresponding solutions. The questions can be divided into classes and/or topics and can be printed selectively. Meta-data to questions can be added and recovered.

Tags:

Exam