Solution:
By default wp-pointer.js will set pointer position to absolute except the case where the target has position fixed. Using show event you can change pointer CSS:
<script type="text/javascript">
jQuery(document).ready(function($) {
$('li#toplevel_page_mymenu_admin_page').pointer({
content: 'test_message',
position: {
edge: 'top',
align: 'center',
},
show: function(event, t){
t.pointer.css({'position':'fixed'});
},
close: function() {
}
}).pointer('open');
});
</script>