Is split possible in bitcoins (like in stocks)? I see that bitcoin is reaching 1000USD. If bitcoin becomes widely accepted currency, then we'll have to deal with decimal numbers like 0.00023 for onions etc. This can be cumbersome and might become a blocker for bitcoin adoption.

To overcome this problem, some people already started using mBTC (milli bitcoin) as units. But this is confusing. The better solution would be to split the bitcoins (like we do in stocks). With this approach, when BTC reaches 1000USD, we can split 1BTC into 1000BTC and it would be easy to manage the currency.

So my question is, does the bitcoin algorithm supports splitting of bitcoin?
No. And that would be even more confusing. You would have to synchronize the split, and for historical prices you would need to know if they were old BTC or BTC after first split, second split etc... Just use mBTC, uBTC, satoshi, or even fractions of the smallest unit if need be.