How difficult would it be to add an option to use public keys instead of private for base key and/or step?
Pretty easy to use a provided public key as the base point. But it would then be impossible to validate that the requested range doesn't include the point at infinity (unless the user is 100% certain that the public key's scalar is somewhere below N - rangeSize).
Not sure on why you'd need a step different then G. The range won't be covered. I assume you're referring to using something like (2G, 4G, 6G, ...) as delta steps, right?