Q2 first: You can do 2 lookups in one search command, no problem.
I don't think your syntax is quite right, though. And if you fix that, maybe it will answer both questions for you.
Although you can do it all at once, I recommend that you set up your lookups in 3 steps: first, go to the Splunk Manager, then choose Lookups -> Lookup Table Files -> New. This is the place where you upload your .csv file to Splunk. Give it a filename.csv that you will use in subsequent commands.
Second, in the Splunk Manager, choose Lookups -> Lookup Definitions -> New. This is the place where you actually name the lookup in Splunk - this name does not need to be the same as the filename.csv (and usually isn't). I'll call it mylookupName in the example below.
Step 3 - Make sure you know the names of the fields. Your .csv file must have a first line that defines the column headings. For example,
col1,col2,col3,col4
100,102,203,good
500,400,300,bad
It is helpful, but not required, if the column names match the field names in your search - but let's assume that they don't. Your field names are field1, field2, field3 in your example above.
Now, you can actually use the lookup in a search:
mysearch | lookup mylookupName col1 as field1, col2 as field2, col3 as field3 OUTPUT col4
For each event, if there is a row in the .csv file where all the input values matches, there will be a resulting field, col4, available for that event.
Also look at this question: Can I chain fields together between two different lookups?
Finally, from your search, I wonder if what you want can be accomplished without a lookup command at all... can you give more details?
... View more