Pánové, já se z vás zvencnu. Objekty definované v XML se samozřejmě instancují jako každé jiné, nehledě na to, jestli na ně hodláte vytvářet pointer přes findViewById(). Jejich zápis do XML jen zavolá konstruktor toho View s patřičným AttributeSetem a přidá ho do nadřazeného View. Nic víc, nic míň. Jeho výhody mě napadají v zásadě 3, všechny však velmi důležité:
1) Přehlednost, čitelnost a tím i upravitelnost a znovupoužitelnost kódu.
2) Možnost použití kvalifikátorů, které vydefinují rozdíly na různých velikostech displejů, DPI, orientacích, jazykových mutacích, verzích Androidu, atp.
3) Snadná práce s density-independent pixels.
A vůbec, design a logika se musí oddělovat, jinak se z každé budoucí úpravy posereš :-).