2. Найти компонент общения с БД покруче или написать свой слой в архитектуре программы для облегчения работы (я так делал при роботе с XML).
3. Не знаю насчёт настроек но я обычно делаю так: Основной класс программы пишу в отдельном файле, а в интерфейсе только связую парами строчек кода с основным обектом программы. Выходит довольно красиво

(чтото наподобе Binding в WPF)