I can answer question 1. N-grams are defined as sets of n contiguous words. We use n-grams because they are more useful than random combinations of words across the sentence. Intuitively, combinations of nearby words have more semantic meaning than combinations of distant words.
Also, using all possible combinations of n embeddings would take much longer, especially since (1D) convolutions are such efficient operations.