What happens if I have less than 10 ether's in my account when this contract first runs? Does it still run?
You're creating the contract so it's up to you what it does, but the obvious way to do it would be to have a variable called something like isActive, which defaults to false, then when it's got enough ETH you send it a transaction to a function called activate, which checks that it has enough money and sets isActive to true. When someone calls it to get it to do something, have it check isActive and only run if it has been activated (therefore if it has been fully funded).
Will the contract run itself when it reaches 1000 blocks each time? Or do you have to run it manually?
Contacts never run themselves. Somebody have to call it to make it do something, and a single call makes it execute once and only once, within a single block.
The obvious thing would be for whoever is getting the money to call the contract. When called, the contract checks that it hasn't been called within the last 1000 blocks, and pays the money, and stores the current block number ready for the next time it has to check.
Another option is to use the Ethereum Alarm Clock, which allows you to schedule and pay for calls in advance, and have some arbitrary person out there on the internet call them for you.
Be aware that you shouldn't rely on your contract being called at a specific block number; If the miner who mines block 4,567,000 decides not to include a transaction you send them, it won't get called, even if your transaction was sent at the right time.