1. С кнопками решается просто: утанавливайте тип UIButtonTypeCustom и устанавливаете фоновую картинку при помощи setBackgroundImage:forControlState:
2. Не знаю что вы искали, но drawRect спокойно переобределяется в потомках
3. В iOS 5 открыли очень много методов для кастомизации контролов
Можно, только промо-кодов дается 50 штук, что еще меньше чем в случае AdHoc сборок. Плюс еще, если вещь уж очень сильно специфическая, есть риск не пройти ревью