Альтернатива как вариант: goodheads.io/2015/08/10/how-to-create-custom-helpe... (сам я когда-то использовал именно такой метод, только файл создал в папке "app/Helpers", а в autoload указал не файл, а путь к папке, чтобы в будущем можно было создавать хелперы в других файлах).
Нет, можно к примеру создать класс и записать эти переменные как свойства класса, а функцию processMessage как метод класса и тогда будет доступ к переменным даже между разными вызовами метода.
Это не одна функция, это код, который должен находится в pas файле. Код из секции type нужно поместить в секцию type, код из секции const - нужно поместить в секцию const (если такой нету, тогда после последнего объявления типа секции type), а функции в implementation.
Чтобы узнать номер диска нужно вызывать функцию GetPhysicalDiskNumber, например: GetPhysicalDiskNumber('C');