I'm thinking of the problems that could occur with your inquiry. The first is that you need to have balances on separate addresses to have a different fund source. It would be another step to have an internal transaction first before sending, so it may be straining for you. The second is that having a web-based wallet can be prone to hacking. It's better to have a more secure wallet for that.
Maybe develop something like that. Automatically send it as an internal transaction first before sending it out, etc.
There isn't a major problem with using a browser wallet. We used coinbase for over a year with 2fa and it was perfectly fine. We limit the balance held there of course.
As for your other solution does electrum have something like that -- send btc to a freshly created address, and then from there send to the client? Would that work?