You would sign up once. Your clients each would definitely want to sign up for their own account for the most important reason. That's where the bank information gets set to tell where the money goes. :). And contracts, sales data, etc. Assuming their $99 will be lost in the noise compared to your fees. :).
The best way for it to work is for you to do development under Wildcarded developer and distribution (ad hoc) code signing keys (your account). You can sign for multiple clients with the same keys set up that way. Then at the end, you sign and publish with a specific AppStore key (each client's account).
That will allow you to do control development, testing and even run a beta distribution program across clients. When development is over and you've settled on a master build, you hand over a Zip of the the release version signed with their key and they upload it via iTunes Connect under their account.
Bonus section: This configuration is easy to implement in XCode (once you get over the 24 hours of strangling yourself getting your head around xcode and the distribution certificates work. this is probably the most well documented iphone development problem. ask a real human who's done this before to set you up the first time. it'll be obvious from then on.)
Go to Project->Edit Project Settings->Configurations. Duplicate two new configurations off of the "Release" configuration. Call one "Ad Hoc", the other "AppStore". Set your signing certificates as follows, your iPhone Developer for Debug/Release, either iPhone Distribution for Ad Hoc, and their iPhone Distribution (AppStore) for "AppStore". Forget you even have a client until the end, then switch to AppStore distribution, build, zip, email, and done.
In practice, it's more complicated than that as you'll need to set up multiple certs/profiles/keys on your machine too, but once you're done, it basically runs like this.