mod_rewrite è una brutta bestiaccia. A mio avviso la documentazione fornita dalla apache foundation è da processo di Norimberga: per farla breve devi provare e riprovare per capire come funziona (una specie di reverse engineering) o trovare della documentazione decente da qualche altra parte (cosa che non mi è riuscita).

Per il tuo problema devi tenere presente quanto segue: la regola di RewriteRule NON VIENE applicata sull'URI completo di parametri, ma solo sull'URI nudo e crudo (senza i parametri GET, cioè tutto ciò che viene dopo il ?).

Per fare quanto chiedi, devi fare una roba del genere:

codice:
RewriteEngine On
RewriteCond %{QUERY_STRING}  a=([^&]+)&id=(.*)
RewriteRule  (.*)  $1/%1/%2  [L]
L'unico modo che hai per accedere alla query string (cioè a "?a=nome&id=numero") è usare RewriteCond, non ce ne sono di banane. Applichi il pattern alla query string e, se verificato, esegue il successivo RewriteRule.

Nel RewriteRule puoi usare $n (dove 0<n<9) per riferirti alle parentesi tonde in RewriteRule e %n (dove 0<n<9) per riferirti alle parentesi tonde in RewriteCond.