I'm using a decent little Java one called "pauker"
(http://pauker.sourceforge.net/). It's nothing really exciting, but
it does use the multiple "pile" system you mention. As it's in Java,
it's usable in Linux, Windows, and anywhere else you can stuff Java,
and it can import from comma-separated or semicolon-separated source
files. And it's under the GPL, I think.

It looks like the dictionary you linked is free for unaltered
redistribution--I shall contact the publisher to see about recompiling
it as source for flashcard programs and such. Thanks!

--JB