Most people think of Bitcoin as a currency, but this is only one use of its protocol & network.
No. It is just a currency. The Bitcoin protocol can be used for different services, but the Bitcoin network is certainly not for gene distribution, or any other form of data back-up. That is not the intention of Bitcoin. You can, however, abuse the protocol to store unnecessary unrelated information. And yes I say abuse, because we as normal Bitcoin users have to download larger blocks for reasons that are opaque to us and no not necessarily concern us (like your genetic code). They are interfering with the purpose of Bitcoin.
Getting to your questions now:
you cannot really store data in Bitcoin in a normal fashion, simply because that is not what Bitcoin is concerned with. You can, however, embed additional information in transactions, which are broadcasted and distributed to the network, in multiple ways, thus essentially storing your information in the blockchain. This assumes you know the storage format of course, since you need differentiate the ordinary transaction information from your additional data.
No nothing prevents the block chain from getting arbitrary large. In practice, however, this will not fill your hard drive so fast (especially if you take Moore's law into consideration), because you need to pay a fee for each transaction per kilobyte.