Возможен ли интерфейс, не содержащий ни одного члена, и если да, какой практический смысл от такого интерфейса?
Ответ Да, возможен. Такие интерфейсы называют маркерными. Они нужны для индикации чего-либо JVM, компилятору или какой-либо библиотеке. Пустые они потому, что позволяют добавить некоторый признак/маркер/индикацию к типам, не меняя контракты этих типов. В Джаве такими интерфейсами являются, например, Serializable и Cloneable. Существование Serializable позволяет сделать проверку "можно ли сериализовать этот объект" более типизированным образом, сведя ее к проверке "имплементирует ли этот объект интерфейс Serializable". Заменой маркерным интерфейсам также могут служить аннотации (например, @ThreadSafe). Интерфейс-маркер на Википедии.