The following regular expression meets the above requirement
(?(?=^[a-z0-9]{8,16}$)(?(?=^.*\d.*\d.*$)(?(?=^.*[a-z].*[a-z].*$)^[a-z0-9]{8,16}$)))
It first searches for alpha numeric string of 8 to 16 characters length, then
it searches if there are atleast two numbers and then searches for atleast two small alphabet. Only then the search passes.
It can be tested online here
http://regexhero.net/tester/[
^]