1 - вам не нужно использовать SQL Server Express, но это лучше, чем общий доступ к папке и использование файла mdf по сети с помощью общего доступа к файлам, и более надежный.
Если ваше приложение будет использоваться только одним пользователем за раз, вы можете открыть общий доступ к папке на удаленном сервере, поместить туда файл mdf и дать разрешение на чтение / запись для общего ресурса пользователю, работающему с вашим настольным приложением.
Если несколько пользователей запустят приложение одновременно и получат доступ к базе данных, оно не будет работать, поскольку Windows, вероятно, заблокирует файл mdf (и если нет, ваша база данных будет повреждена). Затем вам придется использовать SQL Server Express и вообще не использовать общий доступ к папкам.
2 - Он будет работать до тех пор, пока ваши клиенты имеют SQL Compact Edition, который по умолчанию устанавливается с .net framework, поэтому у вас не будет никаких проблем. Кстати, если вы планируете, чтобы все ваши клиенты использовали одну и ту же базу данных, все вопросы, на которые я ответил в вопросе 1, применимы и здесь. Если нескольким пользователям необходимо подключиться к одному и тому же файлу БД в одном и том же файле, вам необходимо: 1 - настроить SQL Server Express на клиенте или 2 - опубликовать свой SQL Server Express, чтобы он мог быть доступен извне вашей сети, и настроить настольное приложение ваших клиентов для доступа к этому серверу.