Что положить в портфолио программиста на Си?
Выберите сферу, где хотите работать. Зайдите на hh.ru и посмотрите требования вакансий по теме. Сделайте выводы и напишите что-нибудь. Затем идите к работодателю. 
Забудьте про универсальный проект, который понравится всем. Программировать микроконтроллеры и писать какие-нибудь шейдеры - это две разные области со своей спецификой.
1. Что касается портфолио. Если нет формального опыта работы на си, то на должность выше среднего рассчитывать в принципе не придётся. Опять же, если этого опыта нет, то шансов написать годное портфолио тоже мало. Лучше вообще код не показывать, пока не попросят.
2. Если хочется посмотреть, как выглядит хороший современный код на си - рекомендую почитать исходники популярного открытого проекта. В зависимости от удобной специфики. Например: ffmpeg , openssl, openvpn, qemu. Там же можно посмотреть, как организована система сборки/автоматического тестирования.
Исходники лучше всего читать в процессе отладки (gdb). Тут порог вхождения несколько высокий, т.к. придётся искать IDE. Я пользуюсь emacs.
3. Из собственного опыта, даже крутые крупные компании готовы брать сишника, лишь бы он был готов стараться. Не стесняйтесь предлагать свои услуги.
4. Чем хорош п.2 , так это тем, что знание популярных открытых фреймворков - это + к резюме. 
5. Удобнее будет под линуксом.