Compare lines in 2 text files with different numbers of fields
Less repetition

You have a lot of repeated code (and unnecessary code).  For example, you manually increment your second reader when you could zip them together.  You perform the same list comprehension on each of them.  You map multiple things onto them after a list comprehension.  You perform a pointless filter that is essentially a copy.  Removing all of this gives us this:

from itertools import izip
import csv
import sys


file1 = sys.argv[1]
file2 = sys.argv[2]    

def get_clean_line(line):
    return [entry.strip().lower() for entry in line if entry]

with open(file1) as first_file, open(file2) as second_file:
    first_reader = csv.reader(first_file)
    second_reader = csv.reader(second_file)

    for first_line, second_line in izip(first_reader, second_reader):
        first_list, second_list = get_clean_line(first_line), get_clean_line(second_line)

        if (len(first_list) != len(second_list) or 
                sorted(first_list) != sorted(second_list)):
            print('Line {}: different fields: A: {} B: {}'.format(
                first_reader.line_num, first_list, second_list))


You could easily move the sorted call into get_clean_line if you want to, but if you think the lengths will be different more often it might make sense to leave it there so short circuiting avoids too many expensive sorts.

Names

You could use better names - bytes are cheap

file1 and file2 vs f1 and f2, first/second_reader vs a and b, etc.  There are probably even better names, but that would probably depend on your specific domain.