gmpの説明の16ページ目に
mpz_t sum;
struct foo { mpz_t x, y; };
mpz_t vec[20];

という記述があったので大丈夫かと思いました

mpz_array_init (mpz t integer_array[], size t array_size,
mp size t fixed_num_bits)

これを使うとは思うのですが使い方がわからなかったので
何とか他の方法でできないかと思っていました。