According to the Google dictionary the following is the definition of technology:
Again this could easily be applied to software. Specifically because of the word techniques. However, I think we need to tread carefully here because both of these definitions would also include all of mathematics as a form of technology. Why does this definition matter? Well, you are able to patent technologies, but you are not able to patent mathematical algorithms or techniques. If some one was able to prove that P=NP in a mathematical proof then it couldn't be patented. However, if you put that same proof into a piece of software it suddenly becomes patentable, and then make some one very rich.
I think there's another fundamentally cognitive difference as well. Despite the fact that people say Android phone technology or Apache web server technology, it feels different than when you say internal combustion technology. I think the main difference is the physicality of the combustion technologies over the technology that has been developed to create phone OSes or webservers. It requires manual labor and a set of tools and skills that are all physical entities whereas with the software, anyone with a computer can learn how to program. That doesn't mean that there won't be a set of people that are better at it or more likely to pick it up than other people. I'm basically self taught in both SQL server and VB.Net.The fact that software can be copied perfectly an infinite number of times also changes how it should be treated.
I think that these differences means we should actually treat software differently. I think that it is a technology, but a technology more related to mathematics and logic than other sciences.