Your query is failing because DB2 expects all database objects to be uppercase by default. So much so, that it automatically translates your lower-case column names in your query to uppercase before execution.
Since your column names are lowercase, this query fails.
My recommendation is to convert your column names to uppercase, as this will save you much pain in the long run.
However, simply wrap the column names within your query in double-quotes and DB2 will preserve the correct case, and the query should work.
I believe this will work:
SELECT "displayname" FROM HOMEBASEDAPP.LOGINDB WHERE \"username\" = '" + username +"' AND \"password\" = '" + password +"';"
Note: your query here is extremely insecure and is open to SQL injection attacks among other things. Hopefully you plan to use a driver within your app that will allow you to 'prepare' your query and provide means to simply pass in values as parameters.
USERNAMEisn't a reserved word, which is what the error message would tend to imply... side note - you're wonderfully open to SQL Injection. You should be using parameterized queries, which might solve your problem as a side effect.