Using fixed code RF is suitable for your application, as long as you keep it just to lighting/opening curtains/other mundane things. The worst thing that could happen is that an obnoxious (and clever) neighbor figures out how to shut your lights off on you!
I would need to know which radio transceiver you are using and what the architecture of your system is to answer this question. I am 90% sure that the answer is "yes, you can make your own rolling code system"
As long as you can program all the nodes in your system yourself, you can make a rolling code system. Here is a bad example with very poor security, but maybe it will help you get the idea.
You have 2 arduinos that need to send ascii messages back and forth. you specify the following protocol: Each message is exactly 4 bytes long. The first 9 bytes contain the data you want to transmit. The last 1 byte contains a key that will be used to encrypt the next transmission. A basic encryption algorithm which adds a constant value to each letter can be used.
Here is an example:
Before arduino 1 transmits its message, it encrypts it with our basic encryption algorithm. at startup, the encryption key for both arduinos is 0, so the letters in the first message aren't shifted.
[arduino 1] [arduino 2]
(boots up) (boots up)
|'h'|'e'|'y'| 4 | ----------------------------> (recieved "hey", next msg will be shifted by 4.)
|'h'|'i'|'i'| 2 | -> |h+4 = 'l'|'m'|'m'| 6 | -> (recieved "lmm", subtract 4 from each letter to get "hey". Next msg will be shifted by 6 - 4 = 2.)
|'h'|'o'|'w'| 3 | -> |h+2 = 'j'|'r'|'y'| 5 | -> (received "jry", subtract 3 from each letter to get "how". Next msg will be shifted by 5 - 2 = 3.)
Again, this is a HYPOTHETICAL example with very very poor security! I don't know your system architecture or the radio transcievers you are using, so I am not 100% sure if my silly little example would work for you. Even though this is terrible encryption, it would still deter any novice hackers. A real rolling code system is more complex than this. I'm just demonstrating that, as long as you can program all the nodes in your radio network, you can implement your own arbitrary rolling code system.