Можно ли в Си задать массив от вектора значений?
"Например определить сначала вектор:" - вы определяете массив. Да, можно писать A[B[C[f[x]]]]
В C++ 11 появился constexpr. Если функция x - чистая, то да, можно.