If you have a display method without EDT, it means there is no appropriate label and help text. Do you feel that String255 helps users to understand the value? Normally you should use (or create) a type that provides better context.
The Best practice check warns you that you’re doing something what usually isn’t a good idea. Just getting rid of BP warnings without improving quality of your product means that you simply won’t be warned anymore - but the problem is still there! It would be the worst thing to do.
About select statements, imagine that you need values from 3 fields but you’re fetching 50 fields from database. That’s a lot of waste! If you just say “select ID, Name, Whatever from abc”, it will run significantly faster.