So bitcoin is just input number's data (how many bitcoin some address have) on top of blockchain, right?
No.
Addresses do not exist on a technical level. Bitcoin is 'made of' transaction outputs referencing earlier outputs, assigned to public keys.
And ethereum custom it and can input custom code into blockchain, right?
No. For deploying contracts (code) into the ethereum VM you can't simply inject any code you want.
You will have to use solidity (most frequently used), LLL, serpent or mutan.
Then how input own custom datas into blockchain?
What kind of question is this ? EVERY data is encoded into 1's and 0's. This should already answer your question..
For this purpose, one should either clone ethereum or using ethereum?
If you have to ask this question, you are definitely not able to properly build what you are trying to build.