TBH I'm not sure about the willow, but from a quick google search it seems that it is very sappy, so, for that reason, I would not try it. *EDIT: I have just found that willow can be used, but rots very fast and can take the oxygen from the water*
If you go down to the beach or to a river, there should be some nice pieces of wood washed ashore, take them home, pour boiling water over them and soak them in water for several weeks (if they're from the beach, change the water daily).
Kuhli loaches need lots of hiding spaces in order to be more confident
Coconut caves, driftwood and some rocks are all appreciated hiding spots.
You can use playsand.
A local landscaping place sells sea sand, which I have been told is safe, just make sure you wash it really well before adding to your tank, as it can be very dusty.
Sand isn't very hard to clean, I just use the tube from my gravel siphon and hover it an inch or so over the sand, most debris gets sucked up. IMO its easier to clean than gravel, as all the waste sits ontop.