Q1: Since all meta data (including user_meta_data) related functions are implemented in C/C++, only the meta data which has python bindings can be supported. If you know how to implement your meta data functions in C/C++ and how to generate python bindings, it is possible.
Q2: pyds.set_user_copyfunc and pyds.set_user_releasefunc are always required for any user meta data implementation.