The only way to do this is using Apples Business-to-Business App Store. This allows you to specify which clients can download the app. The app is otherwise handled just like a normal app store app and does not expire.
The ad-hoc distribution you referred to is not suitable for distributing apps to clients. Anytime a device changes or is added you'll have to re-provision it and re-issue it.
One other alternative is to have your clients get an Enterprise developer license. The app would still have to be renewed every year but they could install it on any device and better yet, you would not have to have it reviewed by Apple.