What are the allowed evolution operators (on protein encoding sequences)?
The most frequent mechanisms are 


Intragenic mutations: when existing genes mutate modifying gene function. 
Gene duplication: leads to related genes in a single cell. A gene duplicates and then as two copies are available, one is free to change
Segment shuffling: leads to hybridisation of different DNA segments. 
Horizontal transfer is transfer of DNA from one cell to another
Transduction: infection of cells by viruses or other intracellular pathogens where their DNA can integrate into the genome


You are incorrect to say all evolution occurs due to duplication. Your follow up questions are too vague. Genes can become larger or smaller, but yes as they increase so does their diversity.