Question 1: Set Field [YourTable::YourDateField ; Get ( CurrentDate ) ]
Set up small printer scripts that only contain print setup and print, each with different print options specified. Set up your main script with Show custom dialog and Get ( LastMessageCHoice ) to ask the user which print option they want. An If step with Get(LastMessageChoice) can use perform script to run different printer scripts depending on the value of Get (LastMessageChoice).
Get a plug in such as MyFMButler in order to get scripted control of the details of your printing process.