Is it possible to simulate installation of Debian packages, and still marking them as installed?

You're probably best off hooking into one of the scripting interfaces that Debian has for their various package tools and writing your own simulator.

(Edit: I can't find dpkg-perl and dpkg-python anymore. dpkg-awk and dpkg-ruby exist, but they don't look like they'll do the job.)

However: Debian has a tool "equivs" that lets you build "empty" packages that just satisfy dependencies, but install no files beyond the control files. http://packages.debian.org/search?keywords=equivs

dpkg and apt-get both have options to run with different administration and root directories. The dpkg man page has them, but the apt-get one is buried in apt.conf.

DIRECTORIES

The configuration item RootDir has a special meaning. ...

aptitude lets you pick and choose what to install, and then "commits" it by running dpkg and/or apt with the right settings. Playing around with it might be sufficient for some of your needs, though you'll want to save the settings before hand, and restore afterword.