Can two cipher letters per plaintext letter easily defeat character frequency analysis?
It is probably impossible to remove language characteristics completely with a substitution cipher. Your algorithm flattens out single character frequencies, but that's it kinda.

Language bigrams (your cipher-quadruples) might not be uniform distributed. The reason for this is simple: Bigram probability is not just the product of the probabilities of both letters - they are not independent variables.

Let's make an example (frequencies from http://www.cryptograms.org/letter-frequencies.php):


Letter t with frequency 0.09056 => 61 cipher-bigrams for t
Letter h with frequency 0.06094 => 41 cipher bigrams for h
Bigram th with frequency 0.03882
Now there are $61*41=2501$ cipher quadruples for the original bigram th, and all of them have the same probability. However, $2501$ of $26^4 = 456976$ possible qudruples is just a fraction of 0.005473. So now the number of ciphertext quadruples for *th does not match required number to enforce a uniform distribution.


An other way to attack might work with those bigrams which are very unlikely or even impossible in English language.