This may answer both of your questions.
When you run the savedata plugin, if you save to a txt file that does not exist, it will create it.
Therefore if you want to have a unique log for each call, you simply have to write to a nonexistent file that will have a name unique to any other.
So for a unique call, you may want to do
savedata.exe C:\...\%cid%%date%%time%.txt arg1 arg2 arg3 ... argx
This would save the file with the caller id, the date, and the time in the name. WARNING: I should note that using the time won't work because the colon ":" is in it and it can't be used in file names on Windows. I wrote a plugin to covert the time from the hh:mm:ss format to hhmm or hhmmss format. Let me know if you're interested. Or you can use any other set of variables that will create an absolutely unique name each and every time. This is easy if the caller has a username or other unique identifier.
As for the log per day, you could do a similar setup. Simply call the savedata plugin and have the %date% in the file name. It will append to the same file until the next day where it will create a new file because a file name with that date doesn't exist yet.
Hope this helps!