ad 1. Chodzi po prostu o znacznik <a href="/podstrona">Podstrona</a> ???
ad 2. poczytaj o Ajax, np. XMLHttpRequest, fetchAPI (jeśli nie musisz pisać dla IE) czy o jQuery (tam też jest metoda ajax). Jeśli dopiero zaczynasz to osobiście polecam spróbować choć raz zrobić to "bezpośrednio" na XMLHttpRequest, gdyż taki kod znajdziesz na wielu stronach i będziesz wtedy w stanie go rozszyfrować. Ponadto to dobry moment, aby poczytać np. o Promise (tzw. obietnice w JS).
Jeśli chcesz bawić się w przesyłanie w GET to dla bezpieczeństwa warto pomyśleć o uchronieniu się przed pobieraniem danych z pamięci. Często w tym celu wiele poradników poleca dodawać do żądania zmienny paramter np. znacznik czasowy, ale osobiście za lepszą metodę uważam po prostu wysłanie nagłówka If-Modified-Since (nie lubię niepotrzebnego zaśmiecania adresu url).
A tak na marginesie, to Ajax jest technologią właśnie do dwukierunkowej wymiany, czyli "obrania" zarówno punkt 2 jak i 4. To jednak tak w dużym uproszczeniu, ale nie chcę tutaj wchodzić w dywagacje na temat czym jest dokładnie Ajax.