1. Najprostszą chyba metodą jest stosowanie systemu kontroli wersji np. Git i tam trzymanie takiego playbooka i wszystkich konfiguracji. Tylko ważne aby repozytorium było prywatne bo nie chcemy aby nasza wewnętrzna adresacja śmigała gdzieś po internecie.
2. Jednym z sposobów na wykluczanie wpisów w pliku inventory może być zwykły komentarz linii # albo jeszcze lepszym sposobem zrobienie odpowiednich grup aby odwoływać do poszczególnych grup w playbooku lub interaktywnie wykonując polecenia w konsoli zamiast pojedynczych hostów.
Jeżeli jakaś maszyna jest wyłączona/offline/niedostępna w chwili uruchomienia polecenia ansible-playbook to po prostu playbook na tej maszynie nie zostanie wykonany (zadanie zakończy się niepowodzeniem), nie musisz jej wykluczać - no chyba, że wyraźnie nie chcesz aby jakiś playbook był wykonany na tej konkretnej maszynie. Jeżeli wydasz to samo polecenie jeszcze raz a maszyna będzie już dostępna to zostaną wykonane zadania spisane w playbooku.
3. Pytanie z gwiazdką* - Czy stacjonarka w innym pokoju oznacza komputer poza siecią domową?
Tej części pytania przyznaje, że nie rozumiem natomiast co do zasady Ansible działa na bazie SSH/WinRM więc nie ma naprawdę znaczenia czy działasz "w sieci" czy jesteś "poza siecią" tak długo jak masz dostęp do maszyny z której możesz uruchamiać playbooki i ona sama ma dostęp do reszty urządzeń na którym mają one zostać wykonane (jumphost).
Jedyna trudność jaką widzę w dostępie z zewnątrz jeżeli tego dotyczy pytanie to zestawienie VPN choć nie jest to konieczne bo jeżeli mamy w sieci urządzenie uruchomione 24/7 to można równie dobrze dostać się do niego najprostszym pulpitem zdalnym (AnyDesk, TeamViewer itd). Wystawianie SSH na zewnątrz raczej był sobie darował.