First of all, I must warn you that I'm not really an expert so please don't take my comment as a definite answer.
Yes it is possible but I would not recommend, since QlikView's purpose is not to behave as a transactional system.
One possibility is to work with variables, as you described, and this will serve you fine if the amount of information to input is small. If the user has a lot of info to input, this would need a lot of variables and it may become difficult to create and maintain the code.
Another possibility is to work with inputfields instead of variables. This may serve your needs, but I alert you that it is very tricky to use them, and maybe you will not be able to build a friendly user interface. I've had a lot of headaches to make them work...
As others suggested, QlikView is designed to build reports but not to capture data from users.
Further to that if you wish to capture data from QlikIVew, try developing data capturing componenet as ActiveX COM object and try to embed it in your application using Custom Object.
Alternatively, QlikView provides you SDK using which you can embed QlikView applications in to other application. So you can develop a front end using ,NET technologies and embed QlikVIew application within that UI.