Инициализируя вот так массив:
int ChValue [6] = {000011};
Вы получите в ChValue[0] = 9 - десятичное 9 - это восьмеричное 011. По правилам языка, целочисленные числовые константы, начинающиеся с 0 являются восьмеричными. В остальных элементах массива будут 0.
Вы хотите записать шесть значений в одну двухбайтовую переменную (хотя было бы достаточно и 1 байта).
Для этого вам нужно использовать битовые операции.
Например:
// ChValue - исходный массив значений по каждому каналу
int ChValue [6] = {0, 0, 0, 0, 1, 1};
uint16_t val = 0;
for(int i = 0; i < 6; ++i)
{
if(ChValue[i] == 1)
val |= 1 << i;
}
// в результате в val будет установлен в 1 бит с номером канала в котором в ChValue единица.
После этого просто запишите val в файл.