GWR will not use the z-coordinate in any capacity. So if you have multiple points at the same (x, y) but different z, GWR will treat them as being at the same location. Splitting your dataset by floor and independently performing GWR is the only solution that immediately comes to mind.
The problem of constant values of the explanatory/dependent variable is more difficult, as GWR will return an error if any neighborhood contains a constant value of any explanatory variable or the dependent variable. To calculate GWR results, you'll need to use neighborhoods large enough to ensure this never happens. However, if the neighborhoods are very large, GWR effectively turns into OLS. Hopefully there is some range of neighborhood that can estimate local effects but still never encounter neighborhoods with constant values.