Кстати, вот за C# не скажу, но вот в яве import это совсем не аналог #include, также это не аналог и IMPORT'a оберонова или же адского with. На самом деле это аналог using (С++) или use (Ada). Т.е. просто позволяет с типами/функциями/переменными обращаться фамильярно, без полного упоминания фамилии.имени.отчества.

Всё что доступно, доступно сразу без import'a.

Какие классы/модули будут загружены определяет класслоадер и его параметры/пути. Естественно можно написать свой класслоадер который будет грузить то что нужно тебе и так как тебе нужно.

PS. Это сильно напоминает С, где #include как бы тоже не особо нужен. Т,е. без которого вполне можно обойтись.