Sounds like fun! See also http://xkcd.com/219/.
My first stab at this would be as follows, especially if you want to make more than one or two of them (massive fail-block of code follows):
The Boring Office is a room. The Exciting Fairyland is a room.
A fort-location is a kind of container. A fort-location can be built or unbuilt. A fort-location is usually unbuilt. A fort-location is usually not enterable. A fort-location has a text called built-description. A fort-location has a text called old-name. A fort-location has a room called destination. Understand "fort" as a built fort-location.
A fort-part is a kind of thing. A fort-part is usually scenery. A fort-part has a text called fort-description.
The desk is a fort-location in the Boring Office. The description is "The desk is just a few plywood boards on top of a few stacks of cinder blocks. The top is covered in boring legal documents for old cases that no one has got around to throwing away." The built-description of the desk is "An awesome fort built out of a desk and some old legal documents no one really needed anymore." The destination of the desk is the Exciting Fairyland.
Some plywood is a fort-part. The plywood is part of the desk. The fort-description of the plywood is "very sturdy walls". Some cinder blocks are a fort-part. The cinder blocks are part of the desk. The fort-description of the cinder blocks is "a charming chimney". Some legal documents are part of the desk. The legal documents are a fort-part. The legal documents are not scenery. The fort-description of the legal documents is "a comfy nest inside".
Check taking a fort-part: say "No point. [The noun] is probably better off where it is." instead.
Fort-building is an action with past participle fort-built, applying to one thing. Understand "build a fort from [something]" as fort-building.
Check fort-building something: say "You don't see any way to make [the noun] into a fort." instead.
Check fort-building a built fort-location: say "Someone already built an awesome fort there!" instead.
Check fort-building a fort-location: rule succeeds. [or maybe continue the action, I forget]
Carry out fort-building: [Ideally, I did the check rules right so we can only get here if the noun is an unbuilt fort-location]
now the noun is enterable;
now the noun is built;
now the description of the noun is the built-description of the noun;
choose a random row from the Table of Fun Adjectives;
now the old-name of the noun is the printed name of the noun;
now the printed name of the noun is "[adjective entry] [old-name of the noun] fort".
Report fort-building:
choose a random row from the Table of Fun Adjectives;
say "You build [an adjective entry] fort out of [the old-name of the noun]";
repeat with widget running through all fort-parts which are part of the noun:
choose a random row from the Table of Construction Verbs;
say ". [The widget] [verb entry] [fort-description of widget]";
say "."
Instead of entering a built fort-location:
say "You crawl into the fort, closing the makeshift door behind you. Alone in this dark box, you drift off into your imagination...";
move player to the destination of the thing understood.
Disclaimer: I am writing this at work off the top of my head and I have no idea whether it works or even compiles. But this is the situation from which I would start hacking.