regarding the map, i dont really think theres other solution than replacing map texture, as the window that displays it is simply loading entire map texture which then gets other elements added (cursed weapons, party members)
MiniMapWnd class doesnt contain any information about the "dragging" functionality and its limits
however.... i guess you could display the desired location with this function
static function AdjustMapView (string a_ControlID, Vector Loc, optional bool a_ZoomToTownMap, optional bool a_UseGridLocation) {}
and then skip the clicks on the window by editing interface.xdat (dunno if that would actually work xd)