As the technology is maturing, more and more web3 enabled mobile browsers are being developed and adopted.
Personally, I would avoid workarounds - and building up technical debt - when developing for Ethereum; it's still quite an immature technology and once the code is live it's pretty much out of your hands.
One potential issue that I can see with this approach is that since this is not a normal function call, it's quite likely that the client sending the transaction won't be able to determine how much gas is necessary to complete whichever branch of logic the code takes. By trying to find a workaround, you've bled an implementation detail to the client/user; complicating things.
Instead of the interaction being "launch this cool Ethereum mobile wallet and press this button", it has become "if you are the winner, send 1 wei to this address, with this amount of gas; otherwise send x ETH with this amount of gas" - which then just raises a bunch of questions and potential for human error.
Is it possible and secure to implement something like that?
It's very difficult to say without seeing more / all of the code.
I would say that one issue might be that you don't keep track of the ETH that is sent to contract by the winner (or return it) - which could be a flaw.
I assume that you are trying to implement something similar to "King of the Ether Throne"; there are many places that vulnerabilities can be exploited - reading more articles about know vulnerabilities in these sorts of contracts is a good place to start.
Is it possible, probably. Would I recommend approaching the problem this way... no.