When you do a SaveAs you are expected to enter in a different file name so you always have the original file that is not written over.
The name the Reader gives the file is based on the filename of the form that was opened. The user can override the filename but you cannot programmatically set it.
By Professional I assume you mean Acrobat. There is a Batch Processing Tool under the Advanced/Document Processing menu. I have not used it but if you read up about it in the documentation you can determine if this will do what you want.
There are SDKs available that you can automate Acrobat from other programs. The Acrobat dev/net site will be the place to look for that.
There is an Acrobat/Reader SDK that allows you to control Acrobat from external programs like VB. I do not know C# but if it can be done it would be using the Inter application Communication interface. It is documented here: