For part (2), with x being your array, I think you want,
[y for y in x if y[3] == '2somename']
Which will return a list of just your data lists that have a fourth value being '2somename'... Although it seems Kamil is giving you the best advice with going for SQL...