I don't think it works because you can borrow bitassets and do nothing with them do. As chronos says your can't prove who's really short.
This doesn't improve liquidity .
I am not famiiar with actual code, but I dont see why not, although I dont know, related to our platform, wether it is feasible.
So you introduce 0.1% fee to all send transactions. Buy/Sell has usual fee, borrow and update/close too, payed to the network in BTS.
Now, all short positions receives fee from its coins transactions including Buy/Sell. In Buy /Sell case, Seller pays smartcoin fee and buyer pays network fee in BTS.
In case you have borrowed and send to another account. You have payed fee to your self. If another account receives and hold, then there is no another transaction and there is no fee. Every time, further account sends, it generates fee for its creator. So it doesn't matter if account that receives is in your possession or not. Eventually it is going to send those funds somewhere and pay fee, which will go to its creator account. All fees payed to its creator, decrease supply of coins, so there is no infinite dilution.
So there is only one question left. How we will know, which account created which coin. Solution is quite simple, every smartcoin sent is basically a record of all previous transactions like bitcoin. Like that they could be easily traced to its creator, the same way bitcoin use record of transactions to provide sum of account held. Every time position is updated/closed, the amount of smartcoins supplied is burned and the record of transactions with it.
This is basic idea and logic behind and it and may be far away from actual technical solution.