1. Po części tak. Trzeba jednak znać chociaż podstawy HTML, bo w zasadzie to na tym bazują strony webowe. Do tego przyda się znajomość Ajax (a co za tym idzie, nieco JS), jeśli chcesz tworzyć dynamiczne aplikacje webowe. CSS nie jest tak istotny w tym przypadku.
2. Moim zdaniem PHP jest bardzo dobrym językiem back-endowym na początek. Potem sam zdecydujesz, czy chcesz dalej iść w tym kierunku i uczyć się jakichś frameworków, czy przenieść się np. na Pythona albo Ruby. Jeśli to drugie, to na pewno po nauce PHP zrobisz to bez żadnych trudności.
3. Można przy użyciu odpowiednich rozszerzeń jak np. GTK, aczkolwiek ten język nie do tego służy. Jeśli zależy Ci na back-endzie i aplikacjach wykonywalnych może lepiej zainteresować się np. Pythonem. Albo nauczyć się dwóch języków, co może okazać się nawet lepszą opcją.