Имею несколько HTML страниц, какой css файл подключать?
Оставьте один. Он всё равно кэшируется. Нет никаких проблем иметь все стили в одном файле (у вас же сайт не на 100500 разных страниц по контенту).
Но никто не запрещает хранить общие стили в одном CSS,  но подключать вторые, имеющие отношение к конкретной странице. Либо прописывайте уникальный стиль прямо в теги style на странице.
Нет четких правил - всё зависит от структуры сайта и принципов оптимизации.
Да, лучше разделить, так проще поддерживать и не нужно будет таскать огромные файлы. Для этого нужно вынести из index.css все стили шапки, футера и других самостоятельных компонентов в отдельные файлы: footer.css, header.css и т.д. Эти файлы импортировать в каждый css файл с помощью "@import" в стилевые файлы для каждой страницы: hone.css, item.css и так далее