Hi Mike,
I've done exactly what you've done, In fact i've gone one step further and defined a column that contains multiple users in a MOSS document library.
The key is getting the metadata (the column containing your approver) from the document library into your workflow, you can do this with a SharePoint document wizard.
Once you've retrieved the metadata you can assign it to an XML field in your data fields and assign this user to be the destination user.
You will have issues if you start a workflow and then change the metadata containing the approver... unless you do something clever like retrieve the metadata of the document at each stage of your workflow or create another workflow that updates a SmartObject containing the metadata of the document.
Martin
Martin Allen
Visit my blog:
SpittingCAML blog